VB call C++ funktion

12/11/2007 - 14:25 von Johann Obermayr | Report spam
Hallo,

Gibt es eine möglichkeit um von VB aus auf eine C++ DLL zuzugreifen,
welches Funktionen wie folgt exportiert.

class MyClass
{
public:
AOC_DECLSPEC static DWORD GetVersion();
AOC_DECLSPEC static BOOL Init(LPCSTR, LPCSTR);
};

Kann man mangled names beim Alias angeben ?

declare MyClassGetVersion Lib "MyClass.dll" Alias "?GetVersion" ()
by Long


Jimmy
 

Lesen sie die antworten

#1 Thorsten Albers
12/11/2007 - 14:49 | Warnen spam
Johann Obermayr schrieb im Beitrag
<u3mME#...
Gibt es eine möglichkeit um von VB aus auf eine C++ DLL zuzugreifen,
welches Funktionen wie folgt exportiert.
class MyClass
{
public:
AOC_DECLSPEC static DWORD GetVersion();
AOC_DECLSPEC static BOOL Init(LPCSTR, LPCSTR);
};



Nein, denn dafür muß ja erst einmal eine Instanz dieser Klasse erstellt
werden, was aber von VB aus nicht möglich ist. Alternative: Erstelle Dir
eine C++ DLL, die bei Initialisierung der DLL eine Instanz der Klasse
erstellt und bei Terminierung der DLL wieder zerstört. Diese DLL stellt die
Funktionen der Klasse dann über entsprechende Funktionen VB zur Verfügung -
ist also ein 'Wrapper' für die C++-Klasse.

Kann man mangled names beim Alias angeben ?



Nicht daß ich wüßte. Aber Du kannst die Ordnungsnummer von exportierten
Funktionen angeben (s. Declare-Anweisung in der Online-Hilfe).

-
THORSTEN ALBERS Universitàt Freiburg
albers@
uni-freiburg.de
-

Ähnliche fragen