![]() |
![]() |
|
|
|||||||
| Programmierung Rat & Tat für Programmierer |
|
|
Themen-Optionen | Ansicht |
|
|
#10 |
|
Master
![]() |
hi!
Vb findet den einsprungspunkt nicht weil der exportname der funktion in der Dll vorne einen underscore bekommen hat und hinten dran ein @ mit einer ordinalzahl. Beispiel: _MyFunc@12 Du kannst dir den richtigen namen der funktion anschauen wenn du mit rechter maustaste auf die datei clickst und auf schnellansicht gehst. Oder du übergibst dem linker den schalter "/MAP". Dann wird eine name.map datei erzeugt in der alle import und export dateien aufgelistet werden. (such einfach nach deiner) IMHO ist die beste methode jedoch eine def datei zu erstellen und dort einen export namen anzugeben (und man ersparrt sich dadurch auch _declspec(dllexport) ). Beispiel: //mydll.c //Funktion die exportiert werden soll // extern "c" und _stdcall sind wichtig sonst funktionierts in vb nicht extern "C" double __stdcall AddIt(int a, int b) { return a+b; } --------------------------------------- //mydll.def LIBRARY MYDLL DESCRIPTION "Exportiert addit" //beschreibung EXPORTS // export section Addit =_AddIt@8 // externer name = name aus der map datei bzw. von schnellansicht ich hoffe ich hab mich verständlich ausgedrückt und das es dir weiter hilft. (Ich hab lang gebraucht bis ich meine erste selbstgeschriebene dll in vb verwenden konnte)
____________________________________
__________________ |»»»»»SONIC««««««| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
|
|
|
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|