常駐ソフトの更新をしようとしたら遭遇しました。
ウィンドウIDが1つでも増えると駄目みたいで、screen 1 か onexit の行をコメントアウトすると普通にシャットダウンできました。
;#include "kernel32.as" screen 1 onexit gosub *quit stop *quit end ;ExitProcess 0 //このAPIを使うとシャットダウンで止まらない。 return
http://hsp.tv/play/pforum.php?mode=pastwch&num=28124
上記の記事を参考に ExitProcess を使用してみると正常にシャットダウンされました。
(ただし、リンク先で言われてるようなアプリ終了後にプロセスが残るというわけではなく、アプリが起動したままシャットダウンをかけることでエラーが発生します。)
当面はこの ExitProcess を使って行こうと思うのですが問題はないでしょうか。
このランタイムエラー、手元にあった HSP3.5β5、HSP3.5β3、HSP3.4 で試したところ全てで発生しました。
以前はシャットダウンでランタイムエラーが出るようなことは無かったので、私の方の環境(の変化)に原因があるのではないかと考えています。
【私の環境】
・Windows10 pro x64 Creators Update
・Windows10 pro x64 Anniversary Update(2台目)
(Creators Update済みかどうかは、http://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?rid=47&PID=2510-8772 の「設定で確認する方法」等を参照願います。)
皆様の所では、上記のスクリプトを実行 → PCをシャットダウン しても正常に終了されますでしょうか。