忍者ブログ
プログラミングとか日常とかの覚書っぽいなにか
[18] [17] [16] [15] [14] [13] [12] [11] [10] [9] [8]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

前回の「HSPでWinsockプログラミング(その3)」で書いたWinsockのサンプルスクリプトではデバッグ用のログメッセージをすべてmesで表示してますが、実は最初はデバッグログ出力用のlogmesを使っていました。
しかし、なぜか一部のログが正しく出力されない現象が発生、結局mesで出力するように書き換えました。
logmes命令自体がバグを持っていそうです。
単純なループやらサブルーチンを組み合わせただけのスクリプトで試してみても現象が発生しないので、どうやらどこか深いところにバグの温床があるのかもしれないです。

追記:
どうやらlogmes実行時にメッセージ割り込み処理が走ってしまうのが原因かも。
例えば以下を実行させると、「after」がログ出力されず、他の出力の順序もおかしいです。 本来なら「before:1」「after:1」~「before:5」「after:5」の後に「on_msg:1」~「on_msg:5」となるはず。実際、すべてのlogmesをmesで置き換えるとそのように出力されます。
    #uselib "user32.dll"
#func PostMessage "PostMessageA" int,int,int,int

oncmd gosub *on_msg,10000
repeat 5
n = cnt + 1
logmes "before:" + n
PostMessage hwnd, 10000, n, 0
logmes "after:" + n
loop
stop

*on_msg
logmes "on_msg:" + wparam
return 0

拍手

PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
プロフィール
HN:
はむぱい
職業:
ソフト作ったりしてる人
Twitter
最新CM
[06/09 replica rolex oyster perpetual datejust]
[06/09 bracelets imitation cartier love]
[06/09 replica the oyster perpetual datejust]
[06/09 datejust rolex oyster perpetual]
[06/09 replica gold love bangle]
カレンダー
08 2017/09 10
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログ内検索
あ~いい漢字