Hallo!
Folgendes Problem:
Ich schreibe ein Programm in dem Dateneingaben über Eingabemasken (wie in einer Datenbank) erfolgen sollen. Allerdings kommt nicht nur eine sonern sehr viele verschiedene Eingabemasken zum Einsatz zwischen denen beliebig gewechselt werden kann.
Die Eingabemasken habe ich als Frames gestaltet. Die Frame-Objekte werden zur Laufzeit erstellt. Wenn ich nun zwischen den einzelnen Eingabemasken wechsle möchte ich folgendes tun:
1. Altes Frame löschen
2. Neues erstellen.
Die Frames haben ein TPanel als Parent. Kann ich mit dem Panel 'sprechen' und irgendwie feststellen welches meiner vielen verschiedenen Frames sich zur Zeit im Panel befindet?
Kann ich über das Panel das darin befindliche Frame löschen/freigeben?
Zur Zeit mache ich das Freigeben der Frames Frame folgendermaßen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var CurrentMask: TFrame; Mask1: TSpezialFrame1; Mask2: TSpezialFrame2; ... ... Mask1 := TSpezialFrame1.Create; CurrentMask := Mask1; ... CurrentMask.Free |
Ist das ein legitimer Weg das so zu tun oder wird das Object dann nicht korrekt freigegeben? Ich habe über CurrentMask zwar keinen Zugriff auf die Eingabefelder im Frame allerdings scheint das Free zu funktionieren.