Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#3

Re: Problem mit Pointer als Rückgabewert (einer Funktion)

  Alt 7. Feb 2010, 19:41
das wird so auch nicht gehen. Der Pointer zeigt während die Funktion "DoSomething" läuft auf einen gültigen String. Sobald die Funktion aber beendet wird, werden ALLE LOKALEN Variablen aus dem Speicher gelöscht, also genullt. Dein Pointer bleibt übrig und zeigt immer noch auf die Stelle, wo mal dein String war. Den String gibt es allerdings nicht mehr, also kannst du ihn auch nicht mehr zurückholen. Um das möglich zu machen, brauchst du einen Pointer, den du mit new() initialisierst und dann dem Pointer einen Inhalt gibst. Dann erst ist der Pointer länger als die Funktion vorhanden.

Bernhard

EDIT: langsamer...
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat