Hallo liebe Delphi-Helfer
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44:
| destructor TJPanel.Destroy; var Pfad, Zeile : String; f, c : Integer; Liste : TStringlist; begin DBZ:= Chr(134); if FFensterpfad <> '' then begin Liste:= TStringlist.Create; Pfad:= FFensterpfad; Liste.LoadFromFile(Pfad); c:= -1; For f:= 0 to Liste.Count - 1 do begin Zeile:= Liste.Strings[f]; if Zeile = Self.Name then begin c:= f; end; end; Zeile:= ''; Zeile:= Zeile + Self.Name + DBZ; Zeile:= Zeile + IntToStr(Self.Height) + DBZ; Zeile:= Zeile + IntToStr(Self.Parent.Top) + DBZ; if c = -1 then Liste.Add(Zeile); if c > -1 then begin Liste.Delete(c); Liste.Add(Zeile); end; Liste.SaveToFile(Pfad); end; inherited Destroy; end; |
Wenn ein Formular, auf dem mein Panel liegt, geschlossen wird, wird Destroy ausgelöst.
Wenn das passiert, möchte ich die Position des Parents (meistens ein Formular) auslesen und in eine Datei schreiben.
Das schreiben und speichern der Datei funktioniert Problemlos.
Nur wenn ich das Parent.Top mit abspeichern will, bekomm ich eine Adressen-Fehlermeldung.
Owner hat nicht die Werte die ich brauche.
Gibt es eine Möglichkeit dennoch an diese Werte ranzukommen?