Welches Fenster wenn hwnd null ist? Das gilt dann für den gesamten Erstellerprozess. Sicherlich funktioniert es nicht wenn SetTimer_() mit der selben Prozedur aber unterschiedlichem Interval benutzt wird. Da man aber die Prozedurnamen benennen kann wie man will ist das irrelevant. Selbst wenn man eine Prozedur mit demselben Code aber anderem Interval mehrmals aufrufen will (warum auch immer) kann man das leicht umegehen:ts-soft hat geschrieben:Wenn ein anderes Fenster denselben Timer nutzt, so wird dieser im anderen Fenster nicht mehr funktionieren, sollte nach erstellen des Timers, ein anderes Fenster denselben Timer erstellen, funzt unser Timer nicht mehr.
Code: Alles auswählen
Macro CreateProc(Instance)
Procedure TimerProc#Instance(hwnd,uMsg,idEvent,dwTime)
Static Alter
Alter + 1
Debug "TimerProc #" + Str(Instance + 1) + ": Ich bin Klaus und " + Str(Alter) + " alt!"
EndProcedure
EndMacro
Macro SetTimer(Instance,Time)
SetTimer_(0,0,Time,@TimerProc#Instance())
EndMacro
OpenWindow(0,0,0,400,300,"untitled",#WS_OVERLAPPEDWINDOW | 1)
CreateProc(0) : SetTimer(0,250)
CreateProc(1) : SetTimer(1,600)
CreateProc(2) : SetTimer(2,1000)
While WaitWindowEvent() ! 16 : Wend
Wenn man SetTimer_() ohne Fenster Handle benutzt dann betrifft es nicht nur den Ablauf innerhalb der eigenen Anwendung sondern auch Fremdprogramme?Mein Programm ist niemals alleine unter Windows.