@janjan
Zitat:
Hm, ich glaub ich hab dich falsch verstanden, ich dachte du wolltest wissen wie man feststellen kann ob eine Komponente per Drag and Drop oder dynamisch per TKomponente.Create erzeugt wurde...
Du hast es erfasst, genau das ist mein Problem!
Ich möchte im Constructor Create feststellen wann/wie die Kompo erstellt wurde, da ich, wenn die Kompo zur RunTime erstellt wurde,
den ExceptionHandler automatisch zuweisen möchte (
und bei Bedarf Daten aus einer Ini-Datei laden). Ist die Kompo schon zur Designzeit aktiv, wird (zumindest habe ich das mit dem Debugger festgestellt) Loaded durchlaufen, hier kann ich die Kompo über die Eigenschaft Active ein/ausschalten (
hier benötige ich die Daten aus der INI-Datei NICHT).
Delphi-Quellcode:
CONSTRUCTOR TFlappError.Create(Owner: TComponent);
BEGIN
INHERITED Create(Owner);
...
IF csDesigning IN ComponentState THEN // Komponente ist zur Designtime (=DragDrop) erstellt worden
BEGIN
...
END
ELSE // Komponente ist zur Runtime (=dynamisch) erstellt worden
BEGIN
Application.OnException := onFlappException;
...
END;
END;
Delphi-Quellcode:
PROCEDURE TFlappError.Loaded;
BEGIN
INHERITED Loaded;
IF Active THEN Application.OnException := onFlappException;
END;
Leider funktioniert ComponentState nicht.