Bei Frames gibt es halt zwei Varianten,
entweder als Frame, der durch die
IDE verwaltet wird. (wie hier)
- Da wird es schwer, dass die Daten "automatisch" rein bekommen,
abgesehn davon der Code wird in Methoden gelegt, die manuell vom Programm aufgerufen werden.
> statt im eigenen Contructor dann im Contructor der Form aufgerufen
- Property des Frame sind im OI nicht nutzbar, da die IDE für solche Frames, Forms und Datenmodule eine "Dummy"-Kompoente im Formdesigner nutzen. (und da eben nur die bekannten Grundtypen, wie TFrame).
Das Selbe gilt auch für Vererbung diesen Modulen, so lange die Vorfahren nicht in der IDE registriert werden.
- aber dafür gibt es auch keine Abhängigkeit zur IDE
oder man behandelt den Frame als Komponente
- hier muß man diesen Frame aber in der IDE registrieren/installieren, also erstmal in ein Laufzeitpackage stecken
- aber dafür kennt die IDE dann diese Klasse und kann auch ihre Property und Property-/Component-Helper verwenden
Was ich schon immer vermisst habe.
Es gibt das
TComponent.Loaded
-Ereignis, welches nach dem Erstellen und Laden aller Property via
DFM ausgeführt wird.
Es gibt aber leider kein Ereignis für "Form fertig geladen", so wie z.B. csDestroying, wo
alle Sub-Komponenten erstmal diesen Status bekommen, bevor auch nur eine Komponente freigegeben wird.
Ein AfterModulCreate und BeforeModulDestroy in TComponent (TForm/TFrame/TDataModule) wäre toll.