Thema: Delphi PChar aus DLL übergeben

Einzelnen Beitrag anzeigen

Gargamel

Registriert seit: 19. Mär 2007
171 Beiträge
 
#1

PChar aus DLL übergeben

  Alt 11. Nov 2009, 12:45
Ich habe zwei DLLs. In der einen ist eine Funktion, die ein PChar zurückliefert. Nur dummerweise empfängt die andere DLL nur Unsinn.
Der Code sieht so aus:

Delphi-Quellcode:
interface

uses SysUtils;

function getText():PChar; cdecl; exports getText;

implementation

function getText():PChar;
var text:string;
Begin
   text:='Gargamel';
   result:=PChar(text);
End;
Die zweite DLL, die getText aufruft sieht so aus:

Delphi-Quellcode:
interface

uses SysUtils;

const DLLName = 'blabla.dll';

function getText():PChar; external DLLName;

implementation

procedure machmal();
var back_p:PChar;
    back:string;
Begin
   back_p:=getText();
   back:=StrPas(back_p);
end;
Das Problem ist, daß die Variable back nur Unsinn behinhaltet. Wo ist der Fehler?
  Mit Zitat antworten Zitat