Appel d'une fonction externe d'une DLL

Signaler
Messages postés
3
Date d'inscription
dimanche 6 octobre 2002
Statut
Membre
Dernière intervention
27 août 2003
-
Messages postés
3
Date d'inscription
dimanche 6 octobre 2002
Statut
Membre
Dernière intervention
27 août 2003
-
Salut tout le monde,

J'espere que les vacances ont été sympa :)

Voila, j'ai un soucis...arg....
J'ai fais une DLL, et maintenant je voudrais appelé les fonctions de la DLL mais pas traditionnellement...

CAD :

Function CopyText(Source,Destination:string):boolean; stdcall
external 'test.dll' name 'CopyText';

Procedure Form1.ButtonClick(Sender: Tobject)
var
source,destination:string;
boolean;
Begin
source:=edit1.text;
destination:=edit2.text;

asm
pushad
mov eax, dword ptr [source]
mov ebx, dword ptr [destination]
push eax
push ebx
call CopyTexT
popad
end;

Enfin bref c un truc comme ca que j'essaye, et dont je n'arrive pas a me sortir :(
En faisant les convention habituelle :

Function CopyText(Source,Destination:string):boolean; stdcall
external 'test.dll' external 'CopyText'

Procedure Form1.ButtonClick(Sender: Tobject)
var
source,destination:string;
boolean;
Begin
source:=edit1.text;
destination:=edit2.text;
Boolean:=Copytext(Source,Destination);
end;

En faisant comme ci dessus ya po de soucis, mais je veux pouvoir faire passer ca en ASM, j'ai vu dans les imports de delphi (windows.pas) qu'il est possible de faire des call en asm ??

Comment faire ?

Merci bien

2 réponses

Messages postés
3
Date d'inscription
dimanche 6 octobre 2002
Statut
Membre
Dernière intervention
27 août 2003

En cherchant un peu je suis tombé la dessus ?
Est-ce que l'on pourrait m'expliqué :
far et forward :)

function _LocalLock(Mem: THandle): Word; far; forward;

function _LocalLock; external 'KERNEL' Index 8;

Merci
Messages postés
3
Date d'inscription
dimanche 6 octobre 2002
Statut
Membre
Dernière intervention
27 août 2003

Grrrr
j'ai oublié de donné la fonction :(
Ya aussi 'assembler' derriere qui est pas claire ?

function LocalLock(Mem: THandle): Pointer; assembler;
asm
PUSH Mem
CALL _LocalLock
MOV DX,DS
end;