Aber genau das machst du hier. Ich gebe dir und allen vor dir recht, daß es vermutlich in fast allen Fällen funktioniert, jedoch nicht immer.
Eigentlich wollte ich auch gar nichts mehr dazu schreiben und den OP sich seine eigene Meinung bilden lassen. Kann das aber jetzt nicht so stehen lassen und habe mich doch fünf Minuten hingesetzt und ein kurzes Beispiel zusammengeklimpert. Es steht nur stellvertretend für größere Controls, die nicht mit Dreizeilern abzuarbeiten sind. Einmal kann man wunderbar einen SIGSEGV erzeugen im OnActivate, einmal läuft es problemlos durch, wenn man auf OnIdle wartet.
Code: Alles auswählen
procedure TForm1.FormActivate(Sender: TObject);
begin
// Form2.Show;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnIdle := @ApplicationIdle;
end;
procedure TForm1.ApplicationIdle(Sender: TObject; var Done: Boolean);
begin
Form2.Show;
end;
Was meinst du damit, kannst du das näher erklären? Lässt du deine User immer selbst erst die Verbindung zur Datenbank aufbauen?
Nur zum Verständnis, als Beispiel, hatte ich mal hier viewtopic.php?t=12658 kurz ein Projekt vorgestellt, was ohne eine automatische Verbindung zur Datenbank und zum Heizungsserver für uns keinen Nutzen hätte. Auf Dauer würde sich hier niemand hinstellen und die Verbindung nach einem Stromausfall oder Connection Lost manuell wieder herstellen.