CreateTimer - Win98
Übersicht

SoraBetreff: CreateTimer - Win98 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe gerade mal mein MaxGui Programm an einem alten Betriebsystem getestet (Win98)
Im Prinzip funktioniert alles, aber CreateTimer scheint keine Wirkung zu haben? also als simples Beispiel: dies würde nun ständig "test" ausgeben, unter WIN 98 jedoch nicht, nur dann wenn man eine Aktion macht: klickt, Fenster verschiebt etc. - also immer dann nur, wenn die "Schleife" auch ohne Timer ausgeführt werden würde. Code: [AUSKLAPPEN] Import MaxGui.Drivers
window=CreateWindow("-",20,20,200,200) CreateTimer(50) While True Print "test" WaitEvent Select EventID() Case EVENT_WINDOWCLOSE End End Select Wend Hat jemand eine Ahnung woran das liegt, bzw. wie man dies umgehen könnte? |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Windows 98 wurde eingestellt. Man braucht sich nicht mehr darum bemühen, da es, wie du hier ja mekrst, mehr und mehr kompatiblitäts-probleme geben wird, auch wenn MS sich um abwärtskompatiblität bemüht. Aufwärts-Kompatiblität ist nicht gewährleistet. | ||
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BtbN hat Folgendes geschrieben: Windows 98 wurde eingestellt. Man braucht sich nicht mehr darum bemühen, da es, wie du hier ja mekrst, mehr und mehr kompatiblitäts-probleme geben wird, auch wenn MS sich um abwärtskompatiblität bemüht. Aufwärts-Kompatiblität ist nicht gewährleistet.
ja ist mir schon klar, kann auch gut damit leben ![]() Nur hätte ja sein können, dass es eine einfache Lösung gibt, schaden würde es ja nicht, auch wenn kaum noch jemand mit einem inzwischen so altem OS unterwegs ist. |
||
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Entweder übersehe ich im Code was, oder er tut genau das, was er soll: Nur dann weitermachen, sobald eine Aktion. Die Funktion WaitEvent() wartet eben so lange, bis irgendetwas im/mit dem GUI passiert. Und den Timer verwendest du ja überhaupt nicht. | ||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Timer feuert jede 1/50 Sekunde ein Event, welches auch von WaitEvent "gemeldet" wird. Nur bei Win98 scheinbar nicht.
Der Code ist also schon richtig. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Meine Vermutung: Der Timer wird direkt vom GC ausgelöscht da du es nicht für notwendig hälst ihn ordnungsgemäss etwas zuzuordnen.
In BM ist prinzipiell alles, was nicht etwas zugeordnet wird (von GUI abgesehen die dank BlitzPlus vergangenheit einfach nicht BM optimal ist) zum abschuss freigegeben. Da die Timer NICHT zu MaxGUI gehören sondern zu einem kernmodul werden sie vom GC gemanaged. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dreamora hat Folgendes geschrieben: da du es nicht für notwendig hälst ihn ordnungsgemäss etwas zuzuordnen..
War hier ja nur ein kurzer Beispiel Code, im Programm mit dem ich es getestet habe, war alles "ordentlich" ![]() |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dreamora hat Folgendes geschrieben: Meine Vermutung: Der Timer wird direkt vom GC ausgelöscht da du es nicht für notwendig hälst ihn ordnungsgemäss etwas zuzuordnen.
In BM ist prinzipiell alles, was nicht etwas zugeordnet wird (von GUI abgesehen die dank BlitzPlus vergangenheit einfach nicht BM optimal ist) zum abschuss freigegeben. Da die Timer NICHT zu MaxGUI gehören sondern zu einem kernmodul werden sie vom GC gemanaged. Es gibt eine Referenz auf den Timer. du kannst ja, wenn du nach dem Event-Sender fragt, ein Objekt erhalten, welches der Timer ist. Also muss irgendwo eine Referenz gespeichert werden. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sora hat Folgendes geschrieben: Dreamora hat Folgendes geschrieben:
da du es nicht für notwendig hälst ihn ordnungsgemäss etwas zuzuordnen..
War hier ja nur ein kurzer Beispiel Code, im Programm mit dem ich es getestet habe, war alles "ordentlich" ![]() wird brauchen schon code der vollständig ist, weil sonst macht das ganze keinen sinn. Teletubbi Raterunden sind was fürs Sudoku Board, nicht fürn' dev board ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Sora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
der Beispielcode verhält sich genauso wie der vollständige, nur das er halt wesentlich kürzer ist ![]() Es geht ja nur um die Tatsache, dass CreateTimer (bei mir?) unter alten WinOS nicht funktioniert, egal in welchem Kontext. Naja ich werde Morgen nochmal ein bisschen rumexperimentieren, vielleicht finde ich noch was heraus, was weiterhelfen könnte. Und wenn nicht, naja dann wird 98/me etc. halt ignoriert, wer jetzt noch damit unterwegs ist...ist eh selbst Schuld ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group