AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Timer & Formwechsel

Ein Thema von Störtebeker · begonnen am 29. Nov 2008 · letzter Beitrag vom 29. Nov 2008
Antwort Antwort
Benutzerbild von Störtebeker
Störtebeker

Registriert seit: 9. Jul 2007
398 Beiträge
 
#1

Timer & Formwechsel

  Alt 29. Nov 2008, 18:01
Hallo,

ich habe zwei Formulare. Auf dem einen ist ein Timer mit folgendem Code:
Delphi-Quellcode:
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;
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:
Delphi-Quellcode:
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;
Doch das scheint nicht zu funktionieren. Die Progressbar läuft und läuft und läuft. Ein Formwechsel findet allerdings nicht statt.

Schonmal im Voraus vielen Dank.
"And he piled upon the whale´s white hump - a sum of all the rage and hate felt by his whole race.
If his chest had been a cannon, he would have shot his heart upon it."
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
679 Beiträge
 
Delphi 12 Athens
 
#2

Re: Timer & Formwechsel

  Alt 29. Nov 2008, 19:25
Dein Problem liegt bei der Zeile
if ActiveControl <> nil then begin Ohne genauere Hintergründe zu kennen, schlage ich z.B folgende Änderungen vor:

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;
Roland
  Mit Zitat antworten Zitat
Benutzerbild von Störtebeker
Störtebeker

Registriert seit: 9. Jul 2007
398 Beiträge
 
#3

Re: Timer & Formwechsel

  Alt 29. Nov 2008, 19:39
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.

UPDATE: Sehr gut Idee. Funktioniert einwandfrei.
"And he piled upon the whale´s white hump - a sum of all the rage and hate felt by his whole race.
If his chest had been a cannon, he would have shot his heart upon it."
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
679 Beiträge
 
Delphi 12 Athens
 
#4

Re: Timer & Formwechsel

  Alt 29. Nov 2008, 20:03
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 hier (Posting #9.)

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.
Roland
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz