解決済みのスレでさらに話を続けるのは心苦しいのですが……
>S&R(楓)さん
>>どうやらkeepサブルーチン内で描画処理(mes命令)を行っていることが原因だと思われます。
>まったく違います。
あ、あれ?違いますか?
一応、以下のような検証用スクリプトを用意して試したんですが。
#const DrawInMain 0 ;0だとサブルーチン内描画、1だとメインルーチン内描画
#const WM_COMMAND $00000111
listbox list, 100, "a\nb\nc\nd"
oncmd gosub *keep, WM_COMMAND
repeat
wait 1
#if DrawInMain
if flag : mes list : flag = 0
#endif
loop
stop
*keep
#if DrawInMain
flag = 1
#else
mes list
#endif
return
//簡略化のため随所に手抜きが……
上のスクリプトの挙動で「サブルーチン内での描画が原因」と結論づけるのは早急な判断でしたでしょうか。
サブルーチン内描画以外の原因だと仰るならば、後学のためにもその原因と理由をお聞かせ願いませんか?