AGB  ·  Datenschutz  ·  Impressum  







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

Wohin mit "Timer1.Enabled := false"?

Ein Thema von gfjs · begonnen am 16. Aug 2006 · letzter Beitrag vom 16. Aug 2006
Antwort Antwort
Seite 1 von 2  1 2      
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#1

Wohin mit "Timer1.Enabled := false"?

  Alt 16. Aug 2006, 05:06
Guten Morgen, Allerseits.

Delphi-Quellcode:
procedure TWinForm.Timer1_Tick(sender: System.Object; e: System.EventArgs);
begin
  MyForm := TwinForm1.Create;
  MyForm.ShowDialog;
  MyForm.BringToFront;
  Timer1.Enabled := false;
end;
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?

Ich wünsche Euch allen noch einen schönen Tag.

mfg gfjs

PS. "Timer1.Enabled := true" steht in TWinForm.Create.
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Wohin mit "Timer1.Enabled := false"?

  Alt 16. Aug 2006, 05:45
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
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Wohin mit "Timer1.Enabled := false"?

  Alt 16. Aug 2006, 05:54
@ 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
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
Onkelrossie

Registriert seit: 7. Aug 2006
43 Beiträge
 
Delphi 7 Architect
 
#4

Re: Wohin mit "Timer1.Enabled := false"?

  Alt 16. Aug 2006, 05:55
Zitat von gfjs:
PS. "Timer1.Enabled := true" steht in TWinForm.Create.
Morgen, gfjs,
nimm doch einfach das Timer1.Enabled raus und stell den Timer im ObjectInspector auf enabled und schon gehts.


HG
Onkelrossie
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Wohin mit "Timer1.Enabled := false"?

  Alt 16. Aug 2006, 06:04
Zitat von gfjs:
Das Startformular (TWinForm)soll 5 Sekunden lang mit einem Panel mit Begrüßungstext zu sehen sein. Dann soll das zweite Formular modal angezeigt werden.
Naja, dann würde ich dir fast von einem Timer abraten, und dir empfehlen eine Pause im Programmablauf einzubauen (ev. mit Thread.Sleep() ).

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Wohin mit "Timer1.Enabled := false"?

  Alt 16. Aug 2006, 06:17
@ 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
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
mbamler

Registriert seit: 19. Mai 2005
Ort: Hamburg
118 Beiträge
 
Delphi 7 Architect
 
#7

Re: Wohin mit "Timer1.Enabled := false"?

  Alt 16. Aug 2006, 07:13
Zitat von gfjs:
Guten Morgen, Allerseits.

Delphi-Quellcode:
procedure TWinForm.Timer1_Tick(sender: System.Object; e: System.EventArgs);
begin
  MyForm := TwinForm1.Create;
  MyForm.ShowDialog;
  MyForm.BringToFront;
  Timer1.Enabled := false;
end;
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?

Ich wünsche Euch allen noch einen schönen Tag.

mfg gfjs

PS. "Timer1.Enabled := true" steht in TWinForm.Create.
...Ohne das jetzt im Detail geprüft zu haben, fällt mir auf die Schnelle ein:

Delphi-Quellcode:
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;
Gruß
Matthias
  Mit Zitat antworten Zitat
mbamler

Registriert seit: 19. Mai 2005
Ort: Hamburg
118 Beiträge
 
Delphi 7 Architect
 
#8

Re: Wohin mit "Timer1.Enabled := false"?

  Alt 16. Aug 2006, 07:14
ich meine natürlich :

Delphi-Quellcode:
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;
Gruß
Matthias
  Mit Zitat antworten Zitat
gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Wohin mit "Timer1.Enabled := false"?

  Alt 16. Aug 2006, 07:23
@ 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
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat
dfried

Registriert seit: 16. Aug 2005
486 Beiträge
 
#10

Re: Wohin mit "Timer1.Enabled := false"?

  Alt 16. Aug 2006, 07:37
Versuch es mal so:

Delphi-Quellcode:
procedure TWinForm.Timer1_Tick(sender: System.Object; e: System.EventArgs);
begin
  Timer1.Enabled := false;
  MyForm := TwinForm1.Create;
  MyForm.ShowDialog;
  MyForm.BringToFront;
end;
Das ShowDialog zeigt das Fenster doch Modal an, wenn ich richtig weis. Somit kommt er nie zum Timer1.Enabled, oder?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:24 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