Salut,
J'ai essayé de faire appel à une fonction foo.m contenue dans une DLL mylib.dll construite par Matlab,
Voici le code Matlab:
et voici le code Delphi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 function y = foo(x) y = 2*x
mais lors de l'exécution j'ai eu une exception:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 procedure TForm1.Button1Click(Sender: TObject); var a,b:double; DLLHandle: Thandle; foo: Function (Num:double):double; {$IFDEF WIN32} cdecl; {$ENDIF} begin DLLHandle := LoadLibrary('mylib.dll'); try @foo := GetProcAddress(DLLHandle, 'foo'); a:=StrToFloat(edit1.Text); b:=foo(a); edit2.Text:=FloatTostr(b); finally FreeLibrary(DLLHandle); end end;
je ne trouve pas de solution pour ce problème,Exception class EAccessViolation with message 'Access violation at address 00000000. Read of address 00000000'.
Merci d'avoir m'aider
Partager