「なでしこ」バグ&要望掲示板

なでしこのバグや実現して欲しい機能の要望を行う掲示板です。
[一覧へ] > (@577) [高] [解決]
@577■ (#1845) 作成したフォームを親部品にするリストをクリックするとプログラム終了時エラーが出る? - FAM (2010-12-13 12:50) /緊急 未処理
【症状】どのような症状、現象か?
母艦に作ったリストでは平気だったんですが、フォームに作ったリストをクリックすると、プログラムを終了したときに「モジュール'ntdll.dll'のアドレス779FE13Dでアドレス00000014に対する書き込み違反がおきました。」というエラーメッセージが表示されます。
『ntdll.dll』が原因のエラーもいろいろあるらしいので、そっちが悪いのかと思いましたが、他のパソコンでも同じようなエラー(モジュール、アドレスは異なるが書き込み違反なのは共通)が起きたため、なでしこが原因と思います。

【再現方法】サンプルソース、再現手順など
仮ウインドウとはフォーム
その可視はオン

仮リストとはリスト
仮リストについて
 親部品は仮ウインドウ
 アイテムは『1

3』

【要望】どのような解決が望ましいか?
エラーが出なくなればいいです。

【バージョン】確認したバージョン
バージョン1.520以降と思われる。(バージョン1.519ではエラーが起きなかった)

【その他】
上記サンプルで様々なバージョンを試していったところ、プログラムを起動してすぐに終了(母艦の閉じるボタンを押す)してもエラーが出たので、『リストをクリックすると』というのはエラーが出る必要条件ではないようです(最初にこのエラーが出たプログラムではリストをクリックした時のみエラーが出てましたが)。

(#1846) 閉じる順番 - NON (2010-12-13 19:19) /緊急 未処理
確認しました。

母艦が閉じられているのに、子ウィンドウであるフォームが消えない状態になっているみたいですね。これはまずい気がします。

(#1848) なるほど、先に閉じればエラーでないですね - FAM (2010-12-13 22:25) /緊急 未処理
自分が今作っているプログラムのデバッグ中に発見したので、回避方法があるとわかったのはありがたいです。
とりあえず、自作のプログラムでは終了前に先に子ウィンドウの可視をオフにするようにします。
・・・と思いましたが可視をオフにしたところで回避方法にはなりませんでした。
かといってフォームを壊せないバグってまだ残っていたはずですし。
やはり早急な修正していただきたいです。

バージョン1.520でGUI部品のイベント/プロパティの整理ってやってるので、このあたりをいじったときに出てきたバグでしょうか?

(#1854) 回避法 - NON (2010-12-16 09:25) /緊急 未処理
>>フォームを壊せないバグ
これは「壊せない」というか「壊すと動かなくなる」バグなので、母艦を閉じる=ソフト終了時であれば壊しても問題ありません。
以下のようにしたところエラーは出なくなりました。バグにはまる人が出そうなので早急に直してほしいことに変わりはありませんが。


仮ウインドウとはフォーム
その可視はオン

仮リストとはリスト
仮リストについて
 親部品は仮ウインドウ
 アイテムは『1

3』

母艦の閉じた時は~
 VCL_FREE(仮ウインドウ)

(#1855) おかげさまで回避はできました - FAM (2010-12-16 17:24) /高 未処理
自分のプログラムにVCL_FREEを組み込んだところ、うまくいきました!
回避法が見つかったので優先度は下げますが、新しいプログラムをつくるたびにこの処理をするのもあれですし、初見では何が悪いのかさっぱりわからないバグなので、目立ちやすいよう優先度は高にしておきます。

(#2659) 修正確認 - クジラ (2016-10-07 19:59) /高 解決

(#1845)へ返信する:

名前
タイトル
本文
優先度
状態
確認キー お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。
編集キー 編集時に使うキーを入力(省略可能)
添付ファイル 画像ファイル(最大300KB)を添付可能