Italia
Foro

Timer-Problem

 
- Page 1 -



E.T.
Da ja hier:  [...]  keine Reaktion zu verzeichnen war, möchte ich das Thema nochmal aufgreifen. Ich hab dort unter "Mit Settimer funktionierts..."  gepostet, das es mit "Settimer" funktioniert.

Leider scheind dem doch nicht so zu sein !!!

Hab mich heut mal hingesetzt, und mein eigenes Prog mal wieder getestet: und siehe da, irgendwann (so ab 250 Durchläufen) wird auch die Schleife ("Mit Settimer funktionierts..." ) immer schneller (und schneller, und schneller...).

Oder sollte da ein Bug im XProfan sein ??

Werd's jetz mal mit einem "Killtimer"  in der Schleife 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  
 



 
- Page 2 -


« Dieser Beitrag wurde als Lösung gekennzeichnet. »

- Page 1 -



RGH
Ciao,
ich habe Dein Programmausschnitt mal auf das Notwendige reduziert und zum vollständigen Programm erweitert:
CLS
ShowCursor 2
declare Ende%, LfdBild%
assign #1,$ProgDir + "Timer.txt"
rewrite #1
@Set("Decimals",4)
declare S&, E&
SetTimer 2000

WhileNot Ende%

    Inc LfdBild%

    If (%Key = 27)

        Ende% = 1

    Else

        Print ".";
        S& =  &GetTickCount
        waitinput
        E& = &GetTickCount

    EndIf

    print #1,"Durchlauf : " + @str$(LfdBild%) + " = " + @Str$((E& - S&) / 1000) + "Sekunden"'***

EndWhile

KillTimer
close #1
ShowCursor 1
END

Der Timer versieht unbeirrt seinen Dienst. Auch nach circa 400 Durchläufen bleibt er bei seinen 2 Sekunden! Das Problem muss wohl in den anderen Programmteilen von Dir liegen, die ich ja nicht vorliegen und daher deren Aufruf entfernt habe.

Außerdem reicht es in diesem Beispiel, den Timer einmal außerhalb der Schleife zu setzen und anschließend wieder zu entfernen (siehe Listing). Der Timer corre so lange, bis er durch einen erneuten SetTimer-Befehl ersetzt wird oder mit KillTimer gelöscht wird. (Ein SetTimer-Befehl enthält auch immer einen KillTimer-Befehl.)

Saluto
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.
Hm, gibts denn 'ne Möglichkeit herauszubekommen, wo das wm_command herkommt ? Im Prog selbst hab ich weder Fenster- noch Systemmenü, Bildschirmschoner ist definitiv aus (dieser erzeugt auch andere Messages als 273). Mein Prog ist ja im waitinput , da sollte es selbst auch keine Messages an sich selbst erzeugen....

[OFFTOPIC]
iF (24.11.10)
Tz! Konstantinopel:  [...] 


Klar hab Io l' Konstantin Opel . Hatte ja auch geschrieben, das ich grad nix zur Hand hab (anderes System).
[/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...
25.11.2010  
 



"Sent when the user selects a command item from a menu, when a control sends a notification message to its parent window, or when an accelerator keystroke is translated. "
 
25.11.2010  
 



@E.T.: Bei wParam 61808 ist das HiWord 0 und hiernach  [...]  wäre es imho eine Menu-Message.

Das Problem ist aber hierbei eher das Du immer davon ausgehen musst von irgendwem irgendeine Nachricht zu bekommen und die kann beliebig sein und muss nicht "stimmen" oder in einem offensichtlichen "Zusammenhang" stehen. ^^

Letztendlich solltest Du halt ("nur") auf die Notizie reagieren die Du auch erwartest und eben so programmieren das andere Notizie egal sein können weil eben immer irgendwas kommen kann...
 
25.11.2010  
 



"und muss nicht "stimmen""

Message haben immer eine Bewandnis, nur sind sie nicht zwingend per den User interessant, sondern eher per das Fenster.

WM_COMMAND ist eine alte Notify-Methode, per die später WM_NOTIFY eingeführt wurde. Der Kompatibilität wegen wurde es beibehalten, darum kommen darüber immer noch diverse Notify-Messages.
 
25.11.2010  
 




E.T.
"Mein Gott, jetzt hat er's !!!" oder "Der Teufel steckt im Detail..."  , so, oder ähnlich würde ich das jetzt nennen.
Getestet auf 2 System, auf 2 Systemen der selbe "Fehler" (welcher eigentlich keiner ist ).
Auf beiden Systemen war ich mir sicher, den Bildschirmschoner und das Monitor-Abschalten ausgeschaltet zu haben. Und wills der Teufel, bei mir auf dem Rechner corre ein Tool, welches ab und an guckt, ob das "Monitor-Abschalten" noch aktiv ist, und wenn nicht, dieses wieder anschaltet (weil ich halt so vergesslich bin...). Und jetzt ratet mal (oder lieber nicht), wer auf dem anderen (Büro-) System den Rechner eingerichtet hat und dabei soweit gedacht hat, das doch immer wieder der Monitor ein schönes "eingebranntes" Bild zeigt, nur weil das Dingens einfach morgens angemacht wurde, keiner was an dem Rechner zu tun hatte und nach 2 Wochen "gejammert" wurde, warum denn alle Desktop-Bildchen immer und ewig zu sehen sind ??

Toll gemacht, Mario !! Auf dein eigenes Tool reingefallen !! Nach 10 min. war also die Energiespar-Funktion wieder an, auch wenn man diese zum testen per Systemkonfiguration abgeschaltet hat.

UND GENAU DIESE ENERGIESPAR-FUNKTION HAT MESSAGE "273" AUSGELÖST !!!
Ich hab zwar in meiner SlideShow reinprogrammiert, das Bildschirmschoner bzw. "Monitor-Abschalten" deaktiviert werden:

Das die Power-Sache ab Vista nicht mehr funz war mir ja klar, aber es sind ja beides XP-Systeme. Das abschalten eines Bildschirmschoner funktioniert auch wunderbar, nur das "Monitor-AUS" scheind bei XP-SP3 nicht zu greifen. Da wird doch wohl nicht einer bei MS die ab Vista geänderte API schon in ein SP3-Update gewürfelt haben ?? . Hab am WE mal einen Rechner mit XP-SP2 in den Finger'n, werd ich doch gleich mal testen...

Soweit, sogut: "Fehler" gefunden !! Bleibt nur die Frage, wie alles umproggen:
einfach mal mit der Maus "wackeln" umgeht dieses Problem ja auch, oder es "sauber" umprogrammieren via GUID_VIDEO_POWERDOWN_TIMEOUT power setting ...

Wäre dann nur gut zu wissen, wann MS wieder mal die eine oder andere API ändert...
 
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...
26.11.2010  
 



^^
 
26.11.2010  
 




E.T.
Die "unschöne" Lösung: Bei allen "falschen" Messages einfach mal mit der Maus wackeln...
...
Einblenden(@Rnd(5))
Text
SetTimer ShowTime%
waitinput'ShowTime%

IfNot %Message = 275

    If @IsKey(19)

        Pause

    ElseIf @IsKey(107)

        ShowTime% = ShowTime% + 500

    ElseIf @IsKey(109)

        Case ShowTime% > 500 : ShowTime% = ShowTime% - 500

    Else

        mouse_event(MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE, mX&, mY&, 0, 0)

    EndIF

EndIF

KillTimer
Ausblenden(@Rnd(5))
...
 
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...
27.11.2010  
 



Verstehe ich nicht so recht was Du damit meinst. ^^

Wenn unerwartete Notizie kommen wackelst mit der Maus damit der Bildschirmschoner verschwindet? ^^
 
27.11.2010  
 




E.T.
Na, da das deaktivieren des Monitor-Power-Save per SystemParametersInfo  unter XP SP3 nicht zu greifen scheind (Schoner wird ja abgeschaltet), einfach mal diese (unschöne) Methode: Wenn die ominöse Message 273 (s.o., vom Power-Save) kommt, einfach mal mit der Maus wackeln...
unschön dehalb, weils ja auch bei allen anderen Messages, welche nicht verarbeitet werden, greift...

Nur mal so auf die schnelle, bis ich mich mit dem GUID_VIDEO_POWERDOWN_TIMEOUT power setting  beschäftigen kann.
 
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...
27.11.2010  
 



Und weshalb beschränkst es nicht auf die Message?

Ich würde die Maus auch hin+zurück bewegen sodass man nichts davon merkt. ^^
 
27.11.2010  
 




E.T.
iF (27.11.10)
Und weshalb beschränkst es nicht auf die Message?


So ist auch gleich erstmal alles andere "gekillt", was mein Prog nicht interessiert.

iF (27.11.10)
Ich würde die Maus auch hin+zurück bewegen sodass man nichts davon merkt. ^^


Unnötig, da der Mauszeiger ausgeblendet ist und keinen interessiert.
 
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...
27.11.2010  
 



Auch nicht nach Verlassen des Schoners? oO
 
27.11.2010  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

18.694 Views

Untitledvor 0 min.
Erfurt27.02.2022
RudiB.28.12.2021
E.T.06.11.2014
Klaus Ernst22.09.2014
Di più...

Themeninformationen

Dieses Thema hat 4 subscriber:

E.T. (9x)
iF (9x)
RGH (4x)
unbekannt (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie