Dlls mit Visual C++ erstellen
Geizhals » Forum » Programmierung » Dlls mit Visual C++ erstellen (2 Beiträge, 12 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.
Re: Dlls mit Visual C++ erstellen
07.03.2002, 09:29:15
Hallo,

ich hab leider kein VC++ auf dem Notebook installiert, aber an und für sich sollte es ganz einfach sein. Das wichtigste ist im Vorhinein mal die Frage: ist es eine ganz normale Win32 dll oder ist es eine ActiveX dll.

Wenn sich die DLL kompilieren läßt, dann gee ich mal schwer davon aus, daß sie auch grundsätzlich funktionieren sollte.

Wenn du nicht weisst, ob es eine win32 oder eine activex dll ist, dann geh einfach folgendermaßen vor:

öffne eine Eingabeaufforderung (Win2k/NT/XP mit start->ausführen->cmd | Win9x/ME mit start->ausführen->command).
Wechsle in das Verzeichnis in dem die DLL liegt.
gebe regsvr32 [dllnamen] ein.
wenn du einen Fehler kriegst von wegen Dateiname nicht gefunden, dann solltest du dir die Utility besorgen (google weiss bescheid)
Beim Ausführen des Befehls können 2 Meldungen kommen:
1) [dllname] was loaded, but the DllRegisterServer entry point was not found -> es ist eine Win32 dll
2) DllRegisterServer in DeviceManager.dll succeeded -> es ist eine ActiveX dll.

Je nach dem ob es nun eine Win32 oder eine ActiveX dll ist, mußt du sie in VB anders ansprechen:

activeX:
solche componenten werden standardmäßig über project|references in das Projekt eingebunden und sind dann ganz normal als Objekte in der Runtime verfügbar. Síe können mittels

dim meinObjekt as new MeinObjektTyp.MeineKlasse

instanziert werden

win32:
Hierfür müssen wir einmal die Entrypoints kennen, d.h. die public members der dll. Normalerweise erhalte ich - wenn ich eine solche dll einbinden muß ein .h interface, das die einzellnen Methoden, die für mich relevant sind auflistet. Weiters sind die C/C++ Datentypen nicht mit denen von VB Konform, was dich zwingt, dir bei MS die Machingtabelle zu besorgen (im MSDN suchen)
Sobald du obige infos hast mußt du die Methoden, die du gerne verwenden würdest mittels:

Public Declare Function [Methodenname] Lib "[DLL-Name]" ([Parameterliste]) As [Rückgabewert]
oder
Public Declare Sub [Methodenname] Lib "[DLL-Name]" ([Parameterliste])

deinem Projekt bekannt machen, damit du drauf zugreifen kannst.

So "einfach" ist es. |-D Ich hoffe es ist verständlich



Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung