![]() |
Timer & Formwechsel
Hallo,
ich habe zwei Formulare. Auf dem einen ist ein Timer mit folgendem Code:
Delphi-Quellcode:
Jetzt soll die Form nach einer bestimmten Zeit durch die andere Form ersetzt werden. Dazu verwende ich einen Timer auf der zweiten Form mit dem Code:
procedure TForm4.Timer1Timer(Sender: TObject);
begin if Progressbar2.position > 99 then begin progressbar2.position := 0; end else begin; progressbar2.position := progressbar2.position + 1; form3.Timer2.enabled:=true; end; end;
Delphi-Quellcode:
Doch das scheint nicht zu funktionieren. Die Progressbar läuft und läuft und läuft. Ein Formwechsel findet allerdings nicht statt.
procedure TForm3.Timer2Timer(Sender: TObject);
begin Timer2.Interval := 10; if ActiveControl <> nil then begin ActiveControl.Left := ActiveControl.Left + 1; Form3.show; Form4.Hide; form4.Timer1.Enabled:=false; end; end; Schonmal im Voraus vielen Dank. |
Re: Timer & Formwechsel
Dein Problem liegt bei der Zeile
Delphi-Quellcode:
Ohne genauere Hintergründe zu kennen, schlage ich z.B folgende Änderungen vor:
if ActiveControl <> nil then begin
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin if Progressbar1.Position > 99 then begin progressbar1.position := 0; Timer1.enabled := False; Form2.Timer1.enabled := True; end else progressbar1.position := progressbar1.position + 10; end;
Delphi-Quellcode:
procedure TForm2.Timer1Timer(Sender: TObject);
begin Form2.show; Form1.Hide; Form1.Timer1.Enabled := False; end; |
Re: Timer & Formwechsel
Also, danke erstmal. Werde es gleich mal ausprobieren. Um mein eigentliches Vorhaben vielleicht noch etwas zu verdeutlichen. Wenn mein Programm das erste Mal gestartet wird, soll eine Konfiguration für das Programm durchgeführt werden. Dazu erstelle ich mehrer Formen, auf denen die Einstellungen + Anmeldedaten eingestellt werden.
Zu beginn dieser Einstellungen soll eine Form kommen, die mit einem Label versehen ist, dass die Konfiguration initialisiert wird. Dazu soll eine Progressbar ein paar mal volllaufen und nach einer gewissen Zeit soll diese Form durch die, sagen wir es die "Willkommensform" der Konfiguration ausgetauscht werden. Und ich dachte mir, dass man das vielleicht mit Timern ganz gut lösen könnte. :wink: UPDATE: Sehr gut Idee. Funktioniert einwandfrei. :thumb: |
Re: Timer & Formwechsel
Ob Du mit den Timern in diesem speziellen Falle glüclich wirst, mag ich bezweifeln.
Ich würde eher auf die Variante "splash screen" und Konsorte ausweichen. Einen möglichen Ansatz findest Du ![]() Update: Im obigen Beispiel ist der Timer 2 grundsätzlich Nutzlos, ggf. kannst Du diesen also auch weglassen und z.B. eine Procedure "Start" definieren, welche das ganze übernimmt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz