Schau doch einfach mal in welcher Rubrik die ihren Thread gestartet haben
Unter D2010 habe ich ein anderes Verhalten, als du beschrieben hast
Delphi-Quellcode:
{ Form1 ist MainForm }
Form2.Show;
Hier wird jetzt für Form2 OnActivate ausgeführt. Beim Wechsel zwischen den Forms wird für das jeweilige Form OnActivate ausgeführt.
Delphi-Quellcode:
{ Form1 ist MainForm }
Form2.ShowModal;
Hier wird nur für Form2 OnActivate ausgeführt und dann ist Ruhe (auch beim Schließen von Form2)
Diese Vorgehensweise ist für mich auch logisch, denn beim
Form2.ShowModal
wird der Kontext von Form1 ja nicht verlassen. Bei
Form2.Show
können aber beide Fenster aktiv sein und bei jedem Wechsel wird eben der Event ausgelöst.
Auch das Auslösen von OnActivate bei
TForm2.Create( nil )
kann ich hier auch nicht nachvollziehen. Da kommt nur das Event
OnCreate
und mehr würde ich auch nicht erwarten