オブジェクトを編集不可にするウィンドウメッセージを使用すると
スクリプトが強制終了します。
Unicodeの場合はウィンドウメッセージの書き方も変化するのでしょうか?
もしくはhsp3utf.asをインクルードした際に起こるsendmsgのバグでしょうか?
わかる方がおられましたら、返答していただけると幸いです
//////////命令初期化////////// #include "hsp3utf.as";文字列処理をUnicodeに設定 #include "gdi32.as" #define ctype XSIZE(%1) int(1.0*%1*XDPI/96);HiDPI用マクロ #define ctype YSIZE(%1) int(1.0*%1*YDPI/96);HiDPI用マクロ GetDeviceCaps hdc,$00000058:XDPI=stat;XDPI GetDeviceCaps hdc,$0000005A:YDPI=stat;YDPI ;GUI枠描画命令定義 #module #uselib "user32.dll" #func DrawEdge "DrawEdge" int, int, int, int #deffunc edgebox int p0, int p1, int p2, int p3 qrc = p0, p1, p0 + p2, p1 + p3 DrawEdge hdc, varptr (qrc), $6, $F return #global ;オブジェクト編集不可命令定義 ;!!!(今回の問題に関連のあるユーザー定義命令)!!! #define objuneditable(%1=0,%2=1) sendmsg objinfo(%1, 2), $CF, %2 //////////メインウィンドウの初期化////////// ;「ウィンドウ生成とウィンドウサイズ記憶」 screen 0,XSIZE(512),YSIZE(512),2;非表示ウィンドウ Screen0X_Size = double(ginfo_winx);ウィンドウサイズを代入 Screen0Y_Size = double(ginfo_winy);ウィンドウサイズを代入 ;枠描画 edgebox XSIZE(-100), YSIZE(65)+1, Screen0X_Size+XSIZE(200), Screen0Y_Size edgebox XSIZE(-100), Screen0Y_Size-YSIZE(43)-2, Screen0X_Size+XSIZE(200), Screen0Y_Size //////////!!!ここからが問題の発生するスクリプト!!!////////// boxstr = "てすと。";input,mesboxに使用する仮の文字列 mesbox boxstr,100,300,4 objID_mesbox = stat;オブジェクトID代入 objuneditable objID_mesbox;オブジェクト編集不可( input boxstr objID_input = stat;オブジェクトID代入 objuneditable objID_input;オブジェクト編集不可 gsel 0,1;ウィンドウアクティブ stop