Dynamic Link Library einbetten in Visual Studio

Hi Leute!

Besitze eine Dynamic Link Library mit scheinbar allen Routinen für eine Messkarte KB8055.dll zur Verwendung im Windows 32bit Programmiersprachen, unter anderem Visual Studio .NET !

Meine Frage:
Wie kann ich nun wenn ich im Visual Studio .NET programmieren möchte das ganze auch einbinden, sodass ich die fertigen Klassen importieren und verwenden kann?

um dieses Board gehts:
http://www.velleman-kit.com/common/product.Aspx?lan=…

Danke!
LG, Klaus

Hi!

Auf Funktionen in Legacy-DLLs kann man dadurch zugreifen, dass man (ähnlich wie früher unter VB) die entsprechenden Funktionen deklariert und angibt, in welcher DLL sie zu finden sind.
Das Ganze ist unter dem Stichwort „P/Invoke“ (Platform-Invoke) bekannt.
Wenn Du nach diesem Begriff googlest, solltest Du eine Menge dazu finden.
Einfaches Beispiel:
Eine Funktion in der DLL sei

int Foo(bool bar);

dann machst Du in C#

class Wrap
{
 [DllImport("MyOldDll.dll")]
 public static extern int Foo(bool bar);
}

und kannst im Weiteren die Funktion einfach per

int number = Wrap.Foo(true);

aufrufen.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi!

Auf Funktionen in Legacy-DLLs kann man dadurch zugreifen, dass
man (ähnlich wie früher unter VB) die entsprechenden
Funktionen deklariert und angibt, in welcher DLL sie zu finden
sind.
Das Ganze ist unter dem Stichwort „P/Invoke“ (Platform-Invoke)
bekannt.
Wenn Du nach diesem Begriff googlest, solltest Du eine Menge
dazu finden.
Einfaches Beispiel:
Eine Funktion in der DLL sei

int Foo(bool bar);

dann
machst Du in C#

class Wrap
{
[DllImport(„MyOldDll.dll“)]
public static extern int Foo(bool bar);
}

und kannst im Weiteren die Funktion einfach per

int
number = Wrap.Foo(true);

aufrufen.

Gruß,
Martin

Hi Martin!

Danke für die Hilfe!
Und wie erkennne ich die in der DLL vorhandenen Methoden/Funktionen?
bzw. wozu verwendet man dann DllImport?

LG, Klaus

Wie verwendest Du denn die DLL bisher?
Du musst doch wissen, welche Funktionen drin stecken und welche Parameter sie erwarten, und das musst Du dem C#-Compiler durch die DllImport-Attribute sagen.

Wenn Du’s nicht weisst, dann kannst Du u.U. mit depends (such mal in Google danach) die Funktionen in Erfahrung bringen.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]