Einzelnen Beitrag anzeigen

xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Zugriffsverletzung bei free?

  Alt 4. Mär 2007, 22:25
Hallo,

nur um das geradezurücken:
Zitat von SirTwist:
Mit diesem Code hier:
Delphi-Quellcode:
with TEdit.Create(form1) do begin
  ...
end;
legst Du zwar ein TEdit an und initialisierst du es, aber direkt nach dem End wird es wieder freigegeben, weil du es keiner Variablen zuweist. Und damit arbeiten all deine Routinen, die du zuweist, im luftleeren Raum, und dein Sender.Free gibt bereits freien Speicher nochmal frei.
Diese Aussage ist natürlich Blödsinn. Das Objekt wird nicht freigegeben (Delphi-Klassen besitzen keine Referenzzählung und Delphi hat auch keinen GC). Es existiert nur keine Variable, mit der das Objekt angesprochen werden kann.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat