Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#12

Re: Unterschied zwischen FreeAndNil(Objekt) und Objekt.Free

  Alt 15. Nov 2006, 18:20
Zitat von pertzschc:
Zitat von jbg:
Für lokale Variablen ist FreeAndNil z.B nicht notwendig, wenn zu einem späteren Zeitpunkt in der Funktion nicht mehr auf diese Variable zugegriffen wird.
Wie meinst Du das? Wird das .Free einer lokales Variable am Ende der Prozedur automatisch aufgerufen oder wird nur der Zeiger auf nil gesetzt?
Tritt eine Variable aus dem Scope, geht ihr Inhalt verloren. also ist es egal, ob der Pointer nun noch auf das (hoffentlich) freigegebene Objekt zeigt oder mit FreeAndNil auf nil gesetzt wurde.

Zitat von jbg:
Zitat von Khabarakh:
Man könnte höchstens sagen, dass bei einem Aufruf von FreeAndNil ein weiteres Free(AndNil) nicht fehlschlagen wird.
Sofern die Variable nicht aus ihrem Sichtbarkeitsbereich (scope) tritt und somit nicht mehr erreichbar ist.
Ich weiß, was du meinst, aber auf eine aus dem Scope getretene Variable lässt sich schlecht eine Prozedur anwenden .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat