j'appelle cette fonction dans VB avec le code suivant :
Private Declare Sub SomeFunction Lib "C:\Documents and Settings\...\sample.dll" (ByVal chaine As String) Sub Test() SomeFunction ("toto" ) End Sub
L'opération s'effectue correctement, mais juste après survient un message d'erreur d'exécution 49 (convention d'appel de DLL incorrecte). Je crois que cela a avoir avec une sombre histoire de __stdcall, mais je ne sais pas quoi en faire (où le placer dans le code). Si je le mets après export ("#define export __stdcall __declspec(dllexport)" ), alors plus rien ne marche (erreur 453 : la fonction est introuvable). Pareil si je le mets après "void" ("export void __stdcall SomeFunction(const LPCSTR sometext)" ).
Please Help!
PS : Vous avez compris que je suis un grand débutant! Si vous avez des références pour m'aider à comprendre ce que je fais, elles sont les bienvenues!
Marsh Posté le 15-03-2006 à 19:32:26
Bonjour,
voici le code C++ de ma dll :
#include <windows.h>
#define export __declspec(dllexport)
export void SomeFunction(const LPCSTR sometext)
{
MessageBox(0, sometext , "DLL Message", MB_OK | MB_ICONINFORMATION);
}
j'appelle cette fonction dans VB avec le code suivant :
Private Declare Sub SomeFunction Lib "C:\Documents and Settings\...\sample.dll" (ByVal chaine As String)
Sub Test()
SomeFunction ("toto" )
End Sub
L'opération s'effectue correctement, mais juste après survient un message d'erreur d'exécution 49 (convention d'appel de DLL incorrecte). Je crois que cela a avoir avec une sombre histoire de __stdcall, mais je ne sais pas quoi en faire (où le placer dans le code). Si je le mets après export ("#define export __stdcall __declspec(dllexport)" ), alors plus rien ne marche (erreur 453 : la fonction est introuvable). Pareil si je le mets après "void" ("export void __stdcall SomeFunction(const LPCSTR sometext)" ).
Please Help!
PS : Vous avez compris que je suis un grand débutant! Si vous avez des références pour m'aider à comprendre ce que je fais, elles sont les bienvenues!