Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit dem 21ten Timer (https://www.delphipraxis.net/140451-problem-mit-dem-21ten-timer.html)

Casual 18. Sep 2009 12:27


Problem mit dem 21ten Timer
 
Hallo,

ich bin grad dabei eine Ampelkreuzung zu simulieren und bin grade dabei den Fußgänger zu programieren.
Beim Start kommt er normaler weise aus einem haus und geht dann auf die zebrastreifen zu und dann auch darüber.
Mittlerweile bin ich beim Programmieren beim 21ten Timer angekommen. Aber immer wenn ich den programmiert habe
und dann starte, kommt mein Männchen nicht aus dem Haus bzw. man sieht ihn überhaupt nicht mehr, egal wie oft ich auf den Button klicke. Wenn ich das Prog nur mit 20 Timer starte, dann geht er sein weg aber wenn ich den 21ten dazuschalte, geht nix mehr mit dem menschen.
Woran liegts? Kann DELPHI 7 nur 20 Timer in einer Anwendung verwenden?

himitsu 18. Sep 2009 12:33

Re: Problem mit dem 21ten Timer
 
Delphi ist es eigentlich egal, wieviele Timer es gibt, da würden wohl eher Windows die Resourcen ausgehn.

erstmal: Warum überhaupt soviele Timer?
Ich würde alles in einen Timer machen und dort nacheinander alle Objekte abarbeiten (die Timerprozeduren laufen eh nie gleichzeitig)

Nja, woran es nun liegen kann, weiß keiner von uns, da wir dein Programm nicht kennen.

Es könnte nun sein, daß du die Rechenleistung deines PCs so weit ausgelastet hast, daß die Timer einfach nicht mehr richtig laufen (ich glaub nicht, daß Windows bei "nur" 21 Timern schon die Resourcen ausgehn)

hathor 18. Sep 2009 13:15

Re: Problem mit dem 21ten Timer
 
Wenn ich nicht irre, hatte WINDOWS 95 nur 16 Timer oder noch weniger.

Richtig, 1 Timer genügt.

Du kannst ja mit den Timer.Tags steuern:
Delphi-Quellcode:
Timer.Tag:= Timer.Tag + 1; // inc() geht nicht!

case Timer.Tag of
   1:...
   2:...
   3....
...
  end;

Casual 18. Sep 2009 13:28

Re: Problem mit dem 21ten Timer
 
und die 1:, 2: sind dann die Timer die man damit benennt oder wozu sind die zahlen, denn das hat ich noch nicht in ner schule

Forlan 18. Sep 2009 13:30

Re: Problem mit dem 21ten Timer
 
Zitat:

Zitat von Casual
und die 1:, 2: sind dann die Timer die man damit benennt oder wozu sind die zahlen, denn das hat ich noch nicht in ner schule

Mauszeiger auf Timer.Tag + F1 = Lösung^^

Casual 18. Sep 2009 13:40

Re: Problem mit dem 21ten Timer
 
habs zwar immer noch nich ganz kapiert wie das funkt mit dem timer.tag aber ich konnts probem lösen

hab vergessen mein timer beim öffnen des progs auszumachen und als ich dann auf den startbutton geklickt habe, war mein mensch schon aus dem bild, so ne billige scheiße ^^

hathor 18. Sep 2009 13:41

Re: Problem mit dem 21ten Timer
 
Du lässt einen Timer auf z.B. Timer.interval:=1000 laufen.
Im Timer-Ereignis OnTimer spielt sich dann alles ab.

Wenn die Ampel für Fussgänger rot geworden ist, wird eine rote Strassenampel nach ca. 5 Sek. rot/gelb, einige Sekunden später grün.
U.s.w.

Nicht in jedem Case-Fall muss etwas passieren.

Es kann auch so aussehen:
case Timer.Tag of

1:...
6:...
15:...

u.s.w.

Uwe Raabe 18. Sep 2009 15:49

Re: Problem mit dem 21ten Timer
 
Zitat:

Zitat von hathor
Wenn ich nicht irre, hatte WINDOWS 95 nur 16 Timer oder noch weniger

Nicht ganz: The Old New Thing


Alle Zeitangaben in WEZ +1. Es ist jetzt 09: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