2007年12月14日金曜日

モジュール内からグローバル空間にあるラベルへ飛ぶ

現在作成中のモジュールで必要になったのでサンプルを作成してみました。oncmdとsendmsgを利用し、モジュールから送信したメッセージをグローバル空間で受信しています。
モジュール外で「ジャンプ先のサブルーチン」を指定できるので、汎用モジュール向きと考えました。モジュール内で定義した命令の実行状況に応じた処理をしたいときなどに利用できるでしょう。

参考:HSPの裏技??:メッセージの送信とポスト

#const global WM_APP 0x8000
#module
#deffunc send_many
    sdim s, 64
    repeat 10
        s = strf("あと%d回メッセージを送信します。", 9-cnt)
        sendmsg hwnd, WM_APP, cnt, s
        wait 10
    loop
    return
#global

    oncmd gosub *get_cmd, WM_APP
    send_many
    stop

*get_cmd
    mes wparam
    dupptr message, lparam, 64, 2
    mes message
    return

0 件のコメント: