Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Schutzverletzung beim Freigeben einer TStringList

  Alt 16. Okt 2005, 11:22
Nein.

Free ist eine Procedure (keine Class Procedure, sorry) von TObject, und die ist so definiert:
Delphi-Quellcode:
procedure TObject.Free;
begin
  if Self <> nil then
    Destroy;
end;
Insofern stimmt Deine Aussage natürlich teilweise, weil Free eben den Speicher freigibt. Aber, wenn ich vorher die Objektreferenz auf Nil setze, passiert einfach N-I-X. Der Speicher wird nicht freigegeben, aber es knallt nicht, wie man am Code unschwer erkennen kann.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat