Hallo zusammen,
sorry dass ich euch belästigen muss.
Aber leider komme ich nicht weiter.
Ich habe in mein C# Projekt eine in C++ erstellte DLL eingebunden.
Auf die Funktionen der DLL greife ich so zu wie es in zahlreichen Beschreibungen erklärt ist.
Erstmal die DLL (TraceLog.dll) über Verweise | Verweise hinzufügen in mein C# Projekt einbinden.
Dann die Using Directive angeben
Anschließend die DLL Imporierung vornehmen
Jetzt kommt der Haken.
Dort wo die vielen ? stehen soll der Übergabeparameter vom Typ "HINSTANCE" rein.
HINSTNACE ist aber C/C++ spezifisch und kann unter C# gar nicht verwendet werden.
Ich habe mal was über Marshal und MarshalAsAttribute gelesen.
Das führt mich aber nicht zu gewünschten Ergebnis.
Ist der Übergabeparameter "HINSTANCE" überhaupt möglich in C#.
Wenn ja, wie kann ich den dann noch beim Funktionsaufruf erzeugen?
Wenn´s nicht geht kann ich die DLL wegschmeißen, oder.
MfG.
CopWorker
sorry dass ich euch belästigen muss.
Aber leider komme ich nicht weiter.
Ich habe in mein C# Projekt eine in C++ erstellte DLL eingebunden.
Auf die Funktionen der DLL greife ich so zu wie es in zahlreichen Beschreibungen erklärt ist.
Erstmal die DLL (TraceLog.dll) über Verweise | Verweise hinzufügen in mein C# Projekt einbinden.
Dann die Using Directive angeben
C#:
using System.Runtime.InteropServices;
C#:
[DllImport("TraceLog.dll", EntryPoint = "InitTraceLog", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
public static extern void InitTraceLog(????????);
Dort wo die vielen ? stehen soll der Übergabeparameter vom Typ "HINSTANCE" rein.
HINSTNACE ist aber C/C++ spezifisch und kann unter C# gar nicht verwendet werden.
Ich habe mal was über Marshal und MarshalAsAttribute gelesen.
Das führt mich aber nicht zu gewünschten Ergebnis.
Ist der Übergabeparameter "HINSTANCE" überhaupt möglich in C#.
Wenn ja, wie kann ich den dann noch beim Funktionsaufruf erzeugen?
C#:
InitTraceLog(???????????)
Wenn´s nicht geht kann ich die DLL wegschmeißen, oder.
MfG.
CopWorker