C# (.Net) DLL kompatibel zu ansi-C
-
Hallo liebe Leser(innen),
Es ist ja möglich über ansi-C mit Hilfe von #pragma code(„Meine.dll“) eine DLL einzubinden.
Gibt es eine Möglichkeit C# DLL’s für ansi-c „kompatibel“ zu machen oder kennt jemand eine Seite wo man zu diesen Thema etwas finden könnte?
Vielen DankPS: Bitte beim Thema bleiben und nicht herumjammern.
-
Hallo lieber Schreiber,
in den Projekteinstellungen des C#-DLL-Projektes gibt es eine Checkbox "COM-Visible machen" (unter Button "Assembly Information...").
-
Also die Idee hatten wir leider schon aber da hatten wir uns gleich schon gedacht, dass es so einfach nicht sein wird.
Weil im c#-.Net ist ja die Gliederung
"Namenspace.Klasse.Methode" bzw. (HempelTest.Test.JustTesting)
wenn Ich die dll also in System32 kopiere und im Ansi-C Code folgendes eingebe... kommt der darauf folgende Fehler.... #pragma code("HempelTest.dll") BOOL WINAPI JustTesting(); #pragma code() JustTesting(); { printf("Hallo"); } ...
Fehler:
can not find function JustTesting in HempelTest.dll
====================================OnErrorExecute====================================
SystemTime: (ThreadId 5324) 2010-04-07 13:05:35.661
dwErrorCode1: (ThreadId 5324) 1007001
dwErrorCode2: (ThreadId 5324) 4099
szErrorText: (ThreadId 5324) Exception in Action
szErrorTextException: (ThreadId 5324) unresolved external function or variable
szApplicationName: (ThreadId 5324) PDLRuntimeSystem
bCycle: (ThreadId 5324) acycle
szFunctionName: (ThreadId 5324) @f2
lpszPictureName: (ThreadId 5324) @SCREEN.@WIN12:@1001.@DESK:NEWPDL0
lpszObjectName: (ThreadId 5324) Button1
lpszPropertyName: (ThreadId 5324) (NULL)
dwParamSize: (ThreadId 5324) 12
====================================OnErrorExecute====================================Vieleicht habt Ihr ja noch einen Vorschlag
-
Aus der VS2008-Doku:
In general, exported types retain the same name they had within an assembly, excluding the namespace associated with the managed name. For example, the type A.B.IList in the following code sample converts to IList in the exported type library. A COM client can refer to the type as IList instead of A.B.IList.
Ist die Klasse vllt nicht öffentlich?