| |
|
|
- Página 1 - |
|
E.T. | Como sí hier: [...] no Reacción a verzeichnen war, möchte Yo el Thema otra vez aufgreifen. Yo hay bajo "Mit Settimer funktionierts..." Nuevo, el lo con "Settimer" funktioniert.
Leider scheind el doch no así a ser !!!
Hab mich heut veces hingesetzt, y mein propio Prog veces otra vez getestet: y siehe como, irgendwann (así de 250 Durchläufen) se auch el Bucle ("Mit Settimer funktionierts..." ) siempre más rápido (y más rápido, y más rápido...).
Oder debería como una Bug en el XProfan ser ??
Werd's jetz veces con un "Killtimer" en el Bucle probieren... |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 09.11.2010 ▲ |
|
|
|
|
« Dieser Contribución wurde como Solución gekennzeichnet. » |
|
RGH | ¡Hola, Yo Su Programmausschnitt veces el Notwendige reduziert y para vollständigen Programa erweitert:
Der Temporizador versieht unbeirrt seinen Dienst. Auch después de encima 400 Durchläufen restos él en seinen 2 Sekunden! Das Problema muss wohl en el otro Programmteilen de Usted mentira, el Yo sí no vorliegen y por lo tanto deren Aufruf lejos habe.
Außerdem reicht lo en diesem Ejemplo, el Temporizador una vez außerhalb el Bucle a conjunto y anschließend otra vez a entfernen (siehe Listing). Der Temporizador se ejecuta así largo, a él por una erneuten SetTimer-Befehl ersetzt se oder con KillTimer gelöscht se. (Ein SetTimer-Befehl enthält De todos modos una KillTimer-Befehl.)
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 23.11.2010 ▲ |
|
|
|
|
|
RGH | E.T. (09.11.10)
Werd's jetz veces con un "Killtimer" en el Bucle probieren...
Das debería en el Tat el problema lösen:
El Anzahl el möglichen Temporizador en el Sistema es begrenzt y cada SetTimer-Befehl erzeugst Usted una neuen Temporizador. Su KillTimer es aber außerhalb el äußeren Bucle, así dass lo innerhalb el Bucle nie aufgerufen se.
Nach una SetTimer muss una KillTimer aufgerufen voluntad, bevor una neues SetTimer aufgerufen se!
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 09.11.2010 ▲ |
|
|
|
|
| RGH (09.11.10)
E.T. (09.11.10) Werd's jetz veces con un "Killtimer" en el Bucle probieren...
Das debería en el Tat el problema lösen:
Dann es systemisch gesehen una XProfan-Bug. |
|
|
| |
|
|
|
RGH | IF (09.11.10)
Dann es aber una XProfan-Bug... zumindest systemisch gesehen.
Wohl kaum: Mit SetTimer se una Temporizador producido. Das macht uno en el Regel außerhalb el Ereignis-Bucle, el z.B. auch el Temporizador-Ereignis abfragt. Nach Beendigung el Bucle muss el Temporizador natürlich otra vez "entsorgt" voluntad. Das geschieht en el Programa pero no. Im Ejemplo befindet son el Ereignis-Bucle ni weitere Bucle. Nach dieser äußeren Bucle es sólo el KillTimer. Solange el Programa en el äußeren Bucle es, se cada Aufruf una Temporizador producido, aber keiner lejos. Erst después de el äußeren Bucle se el zuletzt erzeugte Temporizador lejos. Das KillTimer es definitiv después de el falschen EndWhile!
Otro Sache es el (todavía undokumentierte) WaitInput N%. Hier debería XProfan esta intern erzeugten Temporizador natürlich wider spätestens beim nächsten WaitInput N% otra vez entfernen. Como muss Todavía veces schauen ...
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 09.11.2010 ▲ |
|
|
|
|
| Hm nein wir escribir aneinander vorbei, Yo plapper heute Abend veces por qué lo una Bug es. |
|
|
| |
|
|
|
| RGH (09.11.10)
IF (09.11.10) Dann es aber una XProfan-Bug... zumindest systemisch gesehen.
Wohl kaum: Mit SetTimer se una Temporizador producido.
El Ayuda dazu sagt lo sí ya: "Mit SetTimer se una Zeitgeber eingestellt" y "Es es durchaus statthaft, el Zeitgeber con un erneuten SetTimer neu einzustellen.".
Das una es sólo API y el otro XProfan y E.T. gings no a API - aber auch el API... "existing timer, that timer voluntad be replaced".
Ein Bug es aber todavía más deshalb, como uno no Timerhandles erhält y por lo tanto no su ausgehen muss, son solche kümmern tener - besonders si la Ayuda auch de 1 por SetTimer einstellbaren Zeitgeber spricht.
Optimal wäre lo doch si SetTimer en se incluso aufpasst y (ausschließlich-) intern verwendete Handles auch incluso behandelt. |
|
|
| |
|
|
|
E.T. | Jo, IF. So Yo dies auch de el Ayuda interpretiert. Wenn man's weis, isses sí bien (oder auch no ). |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 10.11.2010 ▲ |
|
|
|
|
E.T. | Yo muß después de Rückfragen desafortunadamente dieses Thema otra vez hervorkramen: Nachdem Yo (como Roland en efecto aussagte) el Killtimer en el "richtige" Mientras que-Bucle gepackt habe, erreichten mich heute una Mail, "warum porque el SlideShow siempre todavía anfängt a rennen..." (No mehr así schlimm, aber el "außenstehendem Betrachter" entgeht natürlich nix).
Natürlich igual probiert, Bucle umgebaut (alles con '***), así el Veces vom SetTimer bist para "auslösen" aufgezeichnet voluntad: KompilierenMarcaSeparación Jetzt se sí m.M. después de el Temporizador De todos modos otra vez ordentlich "gekillt", bevor una neuer gesetzt se. El (mitgeschriebene) Expediente brachte wirklich folgendes para Vorschein:
Temporizador-Mitschnitt
Durchlauf : 1 = 2.0000Sekunden Durchlauf : 2 = 2.0000Sekunden Durchlauf : 3 = 2.0310Sekunden ... Durchlauf : 191 = 2.0000Sekunden Durchlauf : 192 = 2.0000Sekunden Durchlauf : 193 = 0.7650Sekunden Durchlauf : 194 = 0.9220Sekunden Durchlauf : 195 = 0.9220Sekunden Durchlauf : 196 = 0.8910Sekunden Durchlauf : 197 = 0.9370Sekunden
Como uno sehen kann, es de Durchlauf 193 plötzlich una völlig otro Anzeige-Tiempo (ShowTime% = Temporizador-Tiempo) a vermerken. Bildschirmschoner & Monitor-Abschalt-Tiempo Tuve vorsorglich alles deaktiviert (macht mein Prog sowieso, aber sicher es sicher...).
Ist nun el Temporizador "Wirr " oder Yo oder XProfan ??? Oder qué podría sonst todavía el waitinput durchbrechen y algo como auslösen ?? Lo fue kein más Prog al laufen, welches z.B. una wm_paint en mi Programa veranlasst haben podría...
Irgendwie scheind el Temporizador "immer todavía de el Reihe" a laufen...
[OFFTOPIC]Gibts porque a waitinput n ya qué neues ??[/OFFTOPIC] |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 23.11.2010 ▲ |
|
|
|
|
RGH | ¡Hola, Yo Su Programmausschnitt veces el Notwendige reduziert y para vollständigen Programa erweitert:
Der Temporizador versieht unbeirrt seinen Dienst. Auch después de encima 400 Durchläufen restos él en seinen 2 Sekunden! Das Problema muss wohl en el otro Programmteilen de Usted mentira, el Yo sí no vorliegen y por lo tanto deren Aufruf lejos habe.
Außerdem reicht lo en diesem Ejemplo, el Temporizador una vez außerhalb el Bucle a conjunto y anschließend otra vez a entfernen (siehe Listing). Der Temporizador se ejecuta así largo, a él por una erneuten SetTimer-Befehl ersetzt se oder con KillTimer gelöscht se. (Ein SetTimer-Befehl enthält De todos modos una KillTimer-Befehl.)
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 23.11.2010 ▲ |
|
|
|
|
RGH | ... y el Variante con SetTimer n& se ejecuta unbeirrt auch todavía después de encima 800 Durchläufen: KompilierenMarcaSeparación Um en Su Cuestión después de el Verwirrtheit algo einzugrenzen: Weder Windows todavía XProfan scheinen hier wirr a ser.
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 23.11.2010 ▲ |
|
|
|
|
E.T. | Gracias, Roland, el du getestet hast. Hab ahora veces mi "Log-Datei" dahingehend erweitert, el auch el Message, welche el waitinput para verlassen veranlasst, aufgezeichnet se:
Log-Expediente
Durchlauf : 191 = 2.0150Sekunden >> Message: 275 | Ventana: 2294598 | wParam: 1 | lParam: 0 Durchlauf : 192 = 2.0160Sekunden >> Message: 275 | Ventana: 2294598 | wParam: 1 | lParam: 0 Durchlauf : 193 = 0.3750Sekunden >> Message: 273 | Ventana: 2294598 | wParam: 61808 | lParam: 0 Durchlauf : 194 = 0.8900Sekunden >> Message: 273 | Ventana: 2294598 | wParam: 61808 | lParam: 0 Durchlauf : 195 = 0.8440Sekunden >> Message: 273 | Ventana: 2294598 | wParam: 61808 | lParam: 0
El verwirrende Message es 273 (no 275, also no Temporizador), gesendet a la ventana principal. Leider kann Yo en el Moment no nachschauen, qué esta Message bedeutet, kann me de tiempo rápidamente alguien en el Sprünge helfen ??
Gracias... |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 24.11.2010 ▲ |
|
|
|
|
| |
|
| |
|
|