ただ、HSP3.32β2でassert命令を使うと、実行中のソフトのウィンドウを閉じてもDebug Windowが閉じないんだ……。
タスクマネージャを見る限りでは、hsp3.exeがなぜか残っている模様。
逆に、実行中のソフトとDebug Windowが両方表示されている状況でhsp3.exeを強制終了すると両方閉じる。
ちなみに「あらゆるコードでも」というわけではない。
簡単なコードで再現できないかと試行錯誤してみたが無理だった。
自分が開発中のソフトでは、別ファイルに分けたモジュール内のif+中括弧内部にassert命令を仕込んでいて、そこでassertで止めた時にこの問題を知った。
HSP3.31で同じ現象は起きなかったので、多分エンバグなんだろうと思う。
エンバグついでに。次のコードを実行させてみてほしい。
偶然発見したんだが、このコードを実行→Debug Windowが出ている時にソフトを終了(×印で閉じる)させると、
#module #defcfunc square int t assert return t*t #global mes square(10) stop
HSP3.31→何も起こらず両方のウィンドウが閉じる
HSP3.32β2→「関数の戻り値が設定されていません。」(Error 40 in line 3)と表示されて両方閉じる
と、挙動が違うんだ。
どこをどう見ても戻り値は設定されているはずなんだけど……。謎である。
仕方ない、イチイチDebugWindowを消すのは煩わしいし、しばらくはHSP3.31に戻すか……。