Problem beim benutzen einer dll
-
hi,
also ich hab ein problem beim benutzer einer dll.
ich habe hier mal z.B. versucht Die Funtionen MessageboxA zu benutzen;#include <stdio.h> #include <tchar.h> #include <windows.h> #include <iostream> int _tmain(int argc, _TCHAR* argv[]) { typedef void (* DLLMMB) (HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType); HMODULE lib = NULL; DLLMMB MyMessageBox = NULL; lib = LoadLibraryA("user32.dll"); if (lib == NULL) { std::cout << "DLL failed" << std::endl; return 1; } MyMessageBox = (DLLMMB) GetProcAddress(lib, "MessageBoxA"); if (MyMessageBox == NULL) { std::cout << "Function failed" << std::endl; return 1; } MyMessageBox(0,"Im working dude ;)","YEAAAH", MB_OK); MessageBoxA(0,"Im working dude ;)","YEAAAH", MB_OK); FreeLibrary(lib); system("PAUSE"); return 0; }jedoch bekomme ich dabei immer eine Errormeldung

Kompilieren... Versuch-Messagebox.cpp .\Versuch-Messagebox.cpp(27) : error C2664: 'void (HWND,LPCTSTR,LPCTSTR,UINT)': Konvertierung des Parameters 3 von 'const char [7]' in 'LPCTSTR' nicht möglich Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat. .\Versuch-Messagebox.cpp(27) : error C2664: 'void (HWND,LPCTSTR,LPCTSTR,UINT)': Konvertierung des Parameters 1 von 'const char [19]' in 'HWND' nicht möglich Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.ich hoffe jemand kann mir bei dem problem helfen...
mfg der Reiter-des-Nordens...
-
Das hat mir auch schon öfters Probleme gemacht.(meist aber LPCWSTR)
Versuchs mal mit Google.Grüße Wolle
-
Du hast UNICODE enabled. D.h. Dein LPCTSTR ist LPCWSTR!
Wenn DU eine DLL baust solltest Du nicht LPCTSTR als Argument verwenden sondern entweder LPCSTR oder LPCWSTR.Das Problem ist das eben LPCTSTR abhängig von Deiner ProjektEinstellung ist. Deine DLL hat aber ein fertiges konstantes externes Interface.
-
und wie disabel ich unicode? ich habe microsoft virsual studio 2008....
-
ah habs schon gefunden!
Vielen Dank für eure Mithilfe!
mfg Reiter-des-Nordens
-
Hallo!
Ich hab dasselbe Problem..
ich verwende Microsoft Visual Studio 2008 Express Edition - wie disable ich da Unicode?thx
Iso
-
projekt -> eigenschaften -> konfigurationseigenschaften -> allgemein -> zeichensatz auf multibyte