Waittimer hängt [Gelöst]
Übersicht

![]() |
PummelieBetreff: Waittimer hängt [Gelöst] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Ich wollte Waittimer in einer Funktion einsetzen, also dort local erstellen und nutzen, doch das Programm bleibt an Waittimer stehen, da passiert bei mir nix mehr. Hier mal code: BlitzBasic: [AUSKLAPPEN]
Benutze Blitz Plus < neuste Version. |
||
- Zuletzt bearbeitet von Pummelie am So, Aug 02, 2009 13:48, insgesamt einmal bearbeitet
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weiß nicht, ob ich mich täusche, aber gehört waittimer nicht VOR flip 0?
Ansonsten wüsste ich nicht wo das Problem sein sollte... Ich persönlich stell waittimer immer an den Anfang der Schleife... Lg, M0rgenstern |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist eigentlich egal. Wen interessierts, wann in der Schleife gewartet wird. Ob er jetzt ganz oben oder ganz unten steht macht keinen Unterschied. | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, mir ist bewusst das das egal ist. Ich dachte auch eher, dass waittimer vor flip 0 gehört...
Aber ich kanns mir nicht vorstellen... Lg, M0rgenstern |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Funktioniert es denn wie es soll wenn du Waittimer auskommentierst? | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
NightPhoenix |
![]() Antworten mit Zitat ![]() |
---|---|---|
bist du dir sicher, dass das irgendwann zutrifft?
Code: [AUSKLAPPEN] Until INP_DONE = 1
|
||
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
NightPhoenix, 'Tschuldigung, aber das hat ja nichts damit zu tun.
Wenn das niemals zutrifft wird die Schleife ja trotzdem weiterhin durchlaufen. Wie ist das jetzt mit dem auskommentieren? Läufts dann? Lg, m0rgenstern |
||
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ohne waittimer läuft alles wunderbar, doch braucht es bei mir 45% cpu ![]() Egal wo ich das waittimer hin mach, es läuft nicht. Ebenfalls ist es egal wie groß der Timer ist, er hängt sich immer auf. In der Hauptschleife des Programms läuft übrigens ein timer mit 25 wunderbar! |
||
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kannst du die Funktion unabhängig von der Hauptschleife ausführen? Ansonsten liegt vllt dadran dass du zwei timer benutzt...
Lg, m0rgenstern |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie stellst du fest, dass der timer niemals tickt?
Wenn du einfach nur während der ausführung auf pause drückst, wirst du meistens immer bei WaitTimer landen. Denn ich sehe nicht, wie die Abbruch-Bedingung für diese schleife eintreten soll, und somit wäre das programm für immer da drinne gefangen. |
||
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich sehe dara, das es am timer hängt, weil er jetzt (waittimer for flip) nicht auf flip kommt, und sich nichts mehr tut. | ||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde ein stop![]() Wurde der Timer erstellt (time2 <> 0)? Gibt BB keine Fehlermeldung aus? |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der timer is richtig erstellt keine fehlermeldung, und mit stop hab ich nur rausbekommen, das es bei waittimer nicht mehr weitergeht. | ||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn ich das jetzt richtig verstanden hab ist die funktion deine hauptschleife?
oder nur eine funktion die du zig mal aufrufst? falls das 2. zutrifft: bei jedem funktions aufruf kommt ein neuer timer. (FreeTimer ![]() vlt lieg ich auch total falsch. |
||
Warbseite |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke das dein Programm in der Repeat Schleife hängenbleibt weil die Abbruchbedingung NIE erfüllt wird.
Gib mal den Code zur Inpute Funktion. Vielleicht liegt der bug da. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
...dann würde es ja auch ohne waittimer nicht funktionieren... | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
die input Function, ist eine hier aus dem Forum, von D2006.
Die Function wird nicht von der Hauptschleife sondern von einer anderen Funktion aufgerufen (die keinen timer hat) Andere Funktion: BlitzBasic: [AUSKLAPPEN]
|
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Warum so kompliziert?
Code: [AUSKLAPPEN] Select KeyDown(29)
Case 1 Das geht doch auch mit Code: [AUSKLAPPEN] If KeyDown(29)
... |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
diese function wird in der hauptschleife immer rangenommen, und soweit ich weiß
ist select doch schneller |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, ist es nicht. Ich habs mit diesem Test ausprobiert:
Code: [AUSKLAPPEN] time = MilliSecs()
For i = 0 To 1000000 Select KeyDown(29) Case 1 a = 1 End Select Next Print MilliSecs()-time time = MilliSecs() For i = 0 To 1000000 If KeyDown(29) a = 1 EndIf Next Print MilliSecs()-time WaitKey End Edit: Ergebnisse bei mir: Select: 84 ms If: 72 ms |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group