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.af0815 hat geschrieben: So 16. Mai 2021, 14:29Ich verwende seit Jahren und nicht nur bei Lazarus immer OnActivate mit einem InitFlag.
...
Ich habe gelernt micht nicht auf die Reihenfolge der Events zu verlassen
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?af0815 hat geschrieben: So 16. Mai 2021, 14:29Zu den DB-Conntions, dort einen Autostart zu machen, ist eher was für Leute die auf Probleme stehen.
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.