【症状】
フォームを閉じるとスクリプトが停止します。
【再現方法】サンプルソース
次のプログラムを実行すると母艦はカウントを開始します。
「時刻表示」をクリックすると時刻が表示されてカウントを継続しますが、
「閉じる」をクリックするとカウントが停止します。
//ここから
フォーム1とはフォーム
ボタン1とはボタン
そのテキストは「時刻表示」
そのクリックした時は
今を表示
ボタン2とはボタン
そのテキストは「閉じる」
そのクリックした時は
フォーム1を閉じる
「フォーム1が閉じられました。」と表示//実行されない
必要の間
0.2秒待つ。母艦のタイトルは回数
「ループを抜けました」と表示//実行されない
//ここまで
【要望】
フォームを閉じた後でも処理を継続するようにして欲しいです。
【バージョン】
バージョン:1.5326
最終更新日:2010/01/11
OS :Windows XP [5.1(2600:2)]
≪追記≫
イベント内の処理も停止するようです。サンプルプログラムを修正しました。
症状的には、 @426 と同じバグかもしれません。
…と思って @426 に書いた回避策を試してみましたが、こちらは無理でした。
とりあえず、どちらも重要度は高いと思いますので、緊急に上げておきます。
# 似ていますが、原因も分からないし何とも言えないので、「重複」にはしないでおきます。
> 【症状】
> フォームを閉じるとスクリプトが停止します。
frmNakoU.pas内のTfrmNako.eventClose()において、
「閉じた時」を実行し、「終了可能」がオンであるか確認した後、
無条件にnako_stopしていますが、これが原因でしょうか?
上記が原因である場合、閉じようとしているフォームが母艦である時のみ、
nako_stopするように条件を追加すれば、解決できると思います。
frmNakoU.pasの1006行目(上記の箇所)
http://code.google.com/p/nadesiko/source/browse/trunk/frmNakoU.pas#1006
ずばり LSI さんの指摘通りのようなので、そのように修正しておきました。
フォームを閉じるとスクリプトが停止するバグを修正。(r227)(@452)
http://code.google.com/p/nadesiko/source/detail?r=227