上記のスクリプトを実行して[SHIFT]キーを押すとループ内が0.2秒ではなく
#include "Kernel32.as" #const WM_MOUSEMOVE $00000200 *Init sdim bar,1000 *Main title "onkeyを使うと[SHIFT]キーでループ内が早くなる現象を発見!!" oncmd gosub *OnMouseMove,WM_MOUSEMOVE onkey gosub *OnKeyBoard GetTickCount:t1=stat ;ループ内 repeat count++ GetTickCount:t2=stat if(t2-t1)>=1000:t1=t2:count=0 redraw 0 color$00,$00,$00:boxf color$FF,$FF,$00:pos 0,0 mes strf("count=%d",count) ;バー memset bar,'*',1000 poke bar,count mes bar redraw 1 await 200 loop stop *OnKeyBoard if(iParam=='Q'):end return *OnMouseMove /* いろいろ行うが省略 */ return
ものすごく早く繰り返されます。
その他にも WM_MOUSEMOVE メッセージの割り込みを使って
マウスカーソルをウインドウ内で移動しただけでループ内が
ものすごく早く繰り返されます。
この現象を回避する方法があれば教えて欲しいです。
また、この現象はバグと見るべきでしょうか?