DLL c++ impossible de trouver la fonction
bonjour à tous,
Me voici avec un problème que je n'arrive pas a solutionner même en farfouillant dans le forum :
Je cherche à executer une fonction dans une DLL C++ a partir de Delphi.:D
j'ai d'abord crée une DLL en Delphi et je l'ai appelé de puis mon prog, pour le debug, et ça marche nickel.:mouarf:
ensuite je mets la DLL que l'on me livre et la, impossible de me connecter au fonctions de la DLL, la DLL se charge bien mais l'assignation des fonction par GetProcAdress ne marche pas.:cry:
a force de chercher, j'ai fait un Tdump et voilà le résultat : bizarre.....
(j'ai mis les trois point pour pas vous embéter avec toutes les fonctions exporter)
Code:
1 2 3 4 5 6
| Display of File toto_h.dll
...
EXPORT ord:0004='?conTH@@YAHPAD000PAH00000@Z'
...
EXPORT ord:0007='?resTH@@YAHPAD000PAH00000@Z' |
le nom des fonction que je cherche sont bien resTH et conTH mais la c'est bizarre tous ces caractères avant et aprés non 8O
dans "dependency Walker " il faut que je clique sur "undecorate C++ fonction"
pour voir alors :
Code:
1 2
|
int conTH(char *,char *,char *,char *,int *,char *,char *,char *,char *,char *) |
et
Code:
1 2
|
int resTH(char *,char *,char *,char *,int *,char *,char *,char *,char *,char *) |
ça ca correspond bien à ce que je veux ..
j'ai l'impression que mon problème vient de là . qu'en pensez vous ???
Pour plus d'info voici le code de mon prog :
Code:
1 2
|
ResTHInDLL: function(ID, DP, OPR: Pchar; DHr: PChar;out CodeRetour: PInteger;out Quad: Pchar; Host, User, Pass, Db: Pchar): Integer; cdecl; |
et l'association via GetProcAdress :
Code:
1 2 3 4 5 6 7
|
ResTHinDLL := GetProcAddress(hDLLHandle, ResTH);
if not assigned(ResTHinDLL) then
begin
mess := 'resTH introuvable dans la DLL';
end; |
la déclaration de la fonction dans la DLL :
Code:
1 2
|
__declspec(dllimport) int resTH(char *, char *,char *,char *,int *,char *,char *,char *,char *,char *); |