Hallo zusammen, ich möchte aus einer funktion einen pointer auf einen String zurückgeben.
Paradoxerweise kann ich durch den pointer der ich der funktion übergebe, korrekt auf den wert zugreifen und verwenden,
allerdings der rückgabewert der funktion liefert mir immer ein leeres ergebnis.
Hier mal der quelltext.
Delphi-Quellcode:
function DoSomething(Param: Pointer): Pointer;
var PString: ^String;
MyString: String;
begin
PString := Param;
ShowMessage(PString^); // Funktioniert
MyString := 'foobar';
result := @MyString;
end;
procedure TForm1.Button1Click(Sender: TObject);
var PString: ^String;
ParamText: String;
begin
ParamText := 'foo';
PString := DoSomething(@ParamText);
ShowMessage(PString^); // Funktioniert nicht
end;