Zugriff auf DLL

20/10/2008 - 19:29 von MailMr_S | Report spam
Hallo,

ich habe hier eine DLL mit folgendem C-Header:

struct DREIECK
{
long i;
long j;
long k;
};

dll_intern bool _cdecl Laden (const char* frm, DREIECK *&D, long &n,
DREIECK *&T, long &m);

Wie kann ich die Funktion in VB aufrufen?

THX
Mr. S
 

Lesen sie die antworten

#1 Thorsten Albers
20/10/2008 - 23:24 | Warnen spam
schrieb im Beitrag
...
ich habe hier eine DLL mit folgendem C-Header:
struct DREIECK
{
long i;
long j;
long k;
};
dll_intern bool _cdecl Laden (const char* frm, DREIECK *&D, long &n,
DREIECK *&T, long &m);
Wie kann ich die Funktion in VB aufrufen?



Eigentlich gar nicht, weil VB die Aufrufkonvention 'cdecl' nicht
unterstützt, sondern nur 'stdcall'. Zwar kann man - allerdings nur unter
P-Code - mit einem On Error den dadurch entstehenden Fehler abfangen, aber
dann làßt sich der Rückgabewert nicht meher korrekt ermitteln. Alles in
allem ist es sinnvoller, dafür eine Wrapper-DLL zu schreiben, die Aufruf
und Rückgabe in einer von VB verwendbaren Form von dem VB-Programm zur
Original-DLL und umgekehrt durchreicht.

-
Thorsten Albers albers(a)uni-freiburg.de
-

Ähnliche fragen