recupere une chaine de caracteres d´une Dll crée en C avec une application Delphi
Salut a tout le monde,
une fois de plus je me remet a vous, car je n´arrive pas a trouver la solution, je m´explique j´ai une fonction ecrite dans une dll ecrite en C qui retourne une chaine de caracteres, la voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
#define DllExport __declspec(dllexport)
char DllExport * copieur(const char *originale)
{
char *copie=NULL;
copie=malloc((strlen(originale)+1)*sizeof(char));
strcpy(copie,originale);
return copie;
} |
et lorsque je veux la recuperer comme ceci du coté de delphi, je recois qu´une chaine non comprehensible voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
DLLFunc : function(pass: PChar): PChar;
procedure TForm1.cxButton3Click(Sender: TObject);
var iResult: Integer;
s : AnsiChar;
Buffer : PChar;
test : PChar;
test2 : AnsiString;
begin
getmem(buffer, 20);
test := PChar('qwert');
Buffer := DLLFunc(test);
test2 := StrPas(DLLFunc(test));
end; |
merci d´avance pour votre aide.
Eric