000
02.04.2007, 10:44 Uhr
~phi
Gast
|
Hallo, ich habe mit Dev C++ eine DLL geschrieben (und kompiliert). Das Problem ist nun, dass mir Visual Basic meldet: "DLL-Einsprungpunkt returnString in TestDLL.dll nicht gefunden." Ich vermute, dass die Funktion returnString noch verfügbar gemacht werden muss für externe Zugriffe? Oder dass returnString in der dllmain.cpp deklariert werden muss?
Für jede Hilfe bin ich dankbar!
dll.h:
Code: |
#include <iostream> #include <string> using namespace std; #ifndef _DLL_H_ #define _DLL_H_ #if BUILDING_DLL # define DLLIMPORT __declspec (dllexport) #else /* Not BUILDING_DLL */ # define DLLIMPORT __declspec (dllimport) #endif /* Not BUILDING_DLL */ string TestDLL(); class DLLIMPORT TestDLL { public: TestDLL(); virtual ~TestDLL(void);
string returnString() { return "Hello World!"; } private: }; #endif /* _DLL_H_ */
|
dllmain.cpp:
Code: |
/* Replace "dll.h" with the name of your header */ #include "dll.h" #include <windows.h> TestDLL::TestDLL() { } TestDLL::~TestDLL () { } BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ , DWORD reason /* Reason this function is being called. */ , LPVOID reserved /* Not used. */ ) { switch (reason) { case DLL_PROCESS_ATTACH: break; case DLL_PROCESS_DETACH: break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; } /* Returns TRUE on success, FALSE on failure */ return TRUE; }
|
Programmcode in Visual Basic:
Code: |
Declare Function returnString Lib "TestDLL.dll" () As String
Public Sub returnTestDLL() returnTestDLL = returnString End Sub
|
|