![]() |
Wohin mit "Timer1.Enabled := false"?
Guten Morgen, Allerseits.
Delphi-Quellcode:
führt dazu, dass alle 5 Sekunden ein neues Formular erzeugt wird. Die einzige Erklärung, die mir einfällt: "Timer1.Enabled := false" muss woanders hin. - Nur wo?
procedure TWinForm.Timer1_Tick(sender: System.Object; e: System.EventArgs);
begin MyForm := TwinForm1.Create; MyForm.ShowDialog; MyForm.BringToFront; Timer1.Enabled := false; end; Ich wünsche Euch allen noch einen schönen Tag. mfg gfjs PS. "Timer1.Enabled := true" steht in TWinForm.Create. |
Re: Wohin mit "Timer1.Enabled := false"?
Hallo!
Ja, das ist klar, dass der Code bei jedem Aufruf eine neue Form generiert. Was genau hast du denn vor, bzw. was soll der Code denn machen?! Ich verstehe das Problem nicht so wirklich. Grüße Faux |
Re: Wohin mit "Timer1.Enabled := false"?
@ Manuel
Guten Morgen und vielen Dank für Deine schnelle Anwort. Das Startformular (TWinForm)soll 5 Sekunden lang mit einem Panel mit Begrüßungstext zu sehen sein. Dann soll das zweite Formular modal angezeigt werden. Indem ich in TWinForm.Timer1_Tick den Timer1 disable, dachte ich eigentlich, dass nur ein neues Formular erzeugt wird - scheint aber nicht so zu sein. Mir ist zwar klar, dass TWinForm.Timer1_Tick bei jedem Aufruf ein neues Formular erzeugt. Ich wollte das ja auch nur einmal aufrufen und dachte, das würde ich mit "Timer1.Enabled := false" an dieser Stelle erreichen. Wie muss ich das machen? mfg gfjs |
Re: Wohin mit "Timer1.Enabled := false"?
Zitat:
nimm doch einfach das Timer1.Enabled raus und stell den Timer im ObjectInspector auf enabled und schon gehts. HG Onkelrossie |
Re: Wohin mit "Timer1.Enabled := false"?
Zitat:
Grüße Faux |
Re: Wohin mit "Timer1.Enabled := false"?
@ Onkelrossie.
Geht leider nicht! Es werden weiterhin ständig neue Formulare erzeugt. @ Manuel. "Thread.Sleep" bringt die Fehlermeldung "Nicht deklarierter Bezeichner Thread bzw. Sleep". Muss ich evtl. noch einen Namespace ins Uses aufnehmen und ggf. welchen? mfg gfjs |
Re: Wohin mit "Timer1.Enabled := false"?
Zitat:
Delphi-Quellcode:
Gruß
procedure TWinForm.Timer1_Tick(sender: System.Object; e: System.EventArgs);
begin MyForm := TwinForm1.Create; MyForm.ShowDialog; MyForm.BringToFront; MyForm.Enabled := false; //auch den Timer der neu erzeugten Form deaktivieren ... Timer1.Enabled := false; end; Matthias |
Re: Wohin mit "Timer1.Enabled := false"?
ich meine natürlich :
Delphi-Quellcode:
Gruß
procedure TWinForm.Timer1_Tick(sender: System.Object; e: System.EventArgs);
begin MyForm := TwinForm1.Create; MyForm.ShowDialog; MyForm.BringToFront; MyForm.Timer1.Enabled := false; //auch den Timer der neu erzeugten Form deaktivieren ... Timer1.Enabled := false; end; Matthias |
Re: Wohin mit "Timer1.Enabled := false"?
@ Matthias
In MyForm ist kein Timer enthalten, da MyForm nicht von TWinForm abgeleitet ist. Ich habe mit Datei/Weitere/Neue Dateien ein zusätzliches Formular (TWinForm1) eingefügt, von dem in TWinForm.Timer1_Tick eine Instanz erzeugt wird. mfg gfjs |
Re: Wohin mit "Timer1.Enabled := false"?
Versuch es mal so:
Delphi-Quellcode:
Das ShowDialog zeigt das Fenster doch Modal an, wenn ich richtig weis. Somit kommt er nie zum Timer1.Enabled, oder?
procedure TWinForm.Timer1_Tick(sender: System.Object; e: System.EventArgs);
begin Timer1.Enabled := false; MyForm := TwinForm1.Create; MyForm.ShowDialog; MyForm.BringToFront; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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