# mit C++ eine Dll erstellen und dann in VB nutzen



## NRFi (2. März 2004)

Hallo Leute,

folgendes,

ich hab mir sone superkrasse klasse in vb geschrieben, die daten parst. schneller wäre die geschichte aber in c++.
deswegen meine frage, wie krieg ich in c++(mit visual c++) ne dll hin, die ich dann so benutzen kann, wie zb normale api-aufrufe in vb, zb TerminateProzess usw.
irgendwie müssen die aufrufe ja in vb dann wissen, wo die dll liegt, quasi müsste man die c++dll registrieren. geht aber nicht, der meint dauernd, dass er den dll-einstiegspunkt nicht findet.

also nochmal:

wie krieg ich eine dll mit vcc hin, die ich dann wie die übrigen api-aufrufe(von zb kernell.dll usw) in vb nutzen kann?

oder noch besser: kann ich mit c++ eine dll erstellen, mit der ich eine klasse erstellen kann und die dann in vb als referenz einbinden kann?


PS: die funktionen in c++ schreiben ist kein problem.

danke für die hilfe  

gruß, NRFilein


----------



## Tobiasm (3. März 2004)

Das ist eigentlich ganz einfach. Du nimmst unter VC++ ein Dll projekt und programmierst darin Deine Funktionen, so wie Du sie haben willst.

Es gibt nur ein paar Besonderheiten zu beachten:

Du musst irgendwo die Funktion


```
BOOL APIENTRY DllMain(HANDLE,DWORD,LPVOID) 
{
    return(TRUE);
}
```

hinschreiben - sie muss halt da sein, aber in einem großteil der Fälle brauchst Du sie nicht selber anzupassen.

Alle Funktionen, die Du exportieren willst, sollten mit einem WINAPI versehen sein
(z.B. void WINAPI getgoing ())

Du musst zu Deinem Projekt eine Datei mit der Endung .def hinzufügen, in der Du alle Funktionen aufführst, die exportiert werden sollen. Das muss in folgender Form geschehen:


```
LIBRARY MeineLib

EXPORTS getgoing
```

Dann kannst Du die Dll-Funktionen ganz normal einbinden, wie Du es von der WinAPI her kennst.

MfG

Tobias


----------

