Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#15

AW: Komponenten initialisieren

  Alt 10. Nov 2012, 22:44
OnCreate (NewCreateOrder) wird im TFormAfterConstruction ausgelöst, also nachdem alles erstellt wurde
(eigentlich sollte man hier alles initialisieren, außer es gibt wirklich Probleme)
Wenn ich innerhalb von OnCreate eine Procedure im Datenmodul aufrufe, löst das eine Zugriffsverletzung aus. Deshalb hatte ich wohl alles in OnActivate gemacht.

OnShow wird kurz vor dem Anzeigen ausgeführt, aber unmittelbar vor dem ersten OnActivate, wenn die Form mit Visible=True erstellt/geladen wurde
Nun habe ich den Aufruf der Verbindungs-Funktionen in OnShow verlagert – und es tut! Vorteil: Der schleppende Aufbau der Form (enthält DBGrid, das beim Programmstart so sortiert wird, wie es beim letzten Programmende war) ist nicht mehr sichtbar. Danke, Himitsu.

OnActivte wird jedesmal ausgeführt, wenn die Form den Eingabefokus bekommt und wenn die Form schon sichtbar ist. Es kann unter Umständen stören, wenn sich wärend des Arbeitens (Form bekommt Fokus) und auch wärend des Ladens (kurz danach, aber optisch dazugehörend) sich die Form nochmals verändert.
Da hast du allerdings recht, weshalb ich ja auch ein Flag verwendete, das dafür sorgte, daß OnActivate nur einmal aufgerufen wird. Jetzt kann ich mir das sparen

Jetzt muß ich mir nur noch einen Splash-Screen einbauen, um die 3 Sekunden bis zur Anzeige zu überbrücken ...
  Mit Zitat antworten Zitat