Einzelnen Beitrag anzeigen

epileptic_squirrel

Registriert seit: 28. Feb 2009
8 Beiträge
 
#1

[Gelöst] Problem mit Pointer als Rückgabewert einer Funktion

  Alt 7. Feb 2010, 20:33
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;
  Mit Zitat antworten Zitat