Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#5

Re: Funktion erstellt gibt Objekt zurück, wer räumt auf

  Alt 16. Jul 2004, 18:02
Na klar!

Mit einer Garbage Collection kann einem auf Dauer sogar das Denken abhanden kommen.
Assign übernimmt nicht das neue Object, nachdem es die alte Instanz "aufgeräumt" hat -> es macht sich nur eine Kopie.

Delphi-Quellcode:
var
  SL :TStrings;
begin
  // auch wenn es blöd aussieht...
  // Da du IMHO nicht weißt ab wann die SL erzeugt wird, sollte auch foo() in den Try-Except-Block
  try
    SL := foo();
    ListBox.Items.Assign(SL);
  finally
    if Assigned(SL) then
      Free(SL);
      // FreeAndNill halte ich für unnötig, da man mit SL wohl nix mehr machen wird
  end;
end;
  Mit Zitat antworten Zitat