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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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