Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Ungültige Zeigeroperation

  Alt 8. Apr 2011, 10:32
Nee, die Frames werden in der Ondestroy Routine freigegeben. Ich habe einen Haltepunkt gemacht und Assigned(Frame) war nicht nil.
Kannst Du denn an der Stelle die Frame-Eigenschaften einsehen? Also Frame.Name, Frame.ClassName etc.
Wenn das fehl schlägt, ist Dein Frame vorher zerstört worden.

O.Free (O ist ein Objekt) gibt nur den Speicherbereich frei, so dass dieser wieder neu vergeben werden kann. O (als Zeiger) zeigt aber immer noch auf den bisherigen Speicherbereich (bis O auf nil gesetzt wird).
Wurde der Speicher neu vergeben (z.B. für Stringvariablen) und wird auf O wieder zugegriffen, dann gibt es i.d.R. eine Exception.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat