[DLL] Violation d'acces dans msvbvm60.dll
Bonjour,
J'ai développé une DLL en vb avec 1 fonction comme suit :
Code:
1 2 3
| Function GetMasse(Ext As String) As String
GetMasse = "OK"
End Function |
Et je veux appeler cette fonction depuis mon programme Deplhi et je fais comme ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| procedure TForm1.Button1Click(Sender: TObject);
var
msg: string;
HandleDLL: THandle;
GetMasse : function (Ext: Variant): Variant; stdcall;
begin
GetMasse := nil;
//Chargement de la DLL
HandleDLL := LoadLibrary(pAnsiChar('DLLSample.dll'));
//Si la DLL n'est pas chargée on ne continue pas
if HandleDLL = 0 then Exit;
//Récupération de l'adresse de la fonction nommée 'Somme'
GetMasse := GetProcAddress(HandleDLL, pAnsiChar('GetMasse'));
//Appel de la fonction si on a bien récupéré son adresse
if Assigned(Fonction) then
MessageDlg('Youpiiiiii', mtWarning, [mbOK], 0);
msg := GetMasse('.ASM');
MessageDlg(msg, mtWarning, [mbOK], 0);
end; |
Ma fonction VB est bien exportée ( j'ai verfiié avec tdump, elle se charge bien ( j'ai mon MessageDlg qui apparait ) mais dés que je l'appelle, j'ai une violation d'accés dans le module msvbvm60.dll ...
Quelqu'un aurait-il une idée ? Merci d'avance