Morschn
,
ob eine Komponente "gerade" aus der
DFM geladen wird, soll man ja "angeblich" über
TComponent.ComponentState rausbekommen, siehe csLoading und csReading.
Warum gibt es das aber noch nicht im Constructor?
OK, das kann ich mir schon fast denken, also
wie kann man dieses dort dennoch mitbekommen?
Grund: Am Ende des Constructor, bzw. in AfterConstruction wird eine Aktion gestartet, welche aber erst anlaufen soll, wenn das Laden fertig ist, falls es über die
DFM geschieht.
Dafür stellt die
VCL ja
TComponent.Loaded bereit, wo ich das machen könnte, also würde ich das Starten nun dahin verschieben.
> Problem gelöst?
Leider nicht, denn die Aktion soll ja auch anlaufen, wenn die Komponente manuell/dynamisch erzeugt wird.
In diesem Fall wird Loaded aber nicht aufgerufen und ich müßte dennoch im Constructor/AfterConstruction starten ... nur leider bekomm ich da nicht mit, ob die Komponente manuell/dynamisch oder über die
VCL erstellt wurde, da ComponentState dort immer leer ist.