Laboratory of Mobile Agricultural Chemicals Searcher
携帯農薬検索実験室

研究会

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
36 / 114 ツリー <前へ | 次へ>

〔767〕ACFinder071125版 kabe (07/11/25 21:50)

〔769〕終了時にエラー送信ダイアログが… Hidemi Oya (07/11/26 1:26)
〔770〕Re:終了時にエラー送信ダイアログが… Hidemi Oya (07/11/26 11:26)
〔771〕Re:終了時にエラー送信ダイアログが… Hidemi Oya (07/11/26 20:03)
〔774〕Re:終了時にエラー送信ダイアログが… kabe (07/11/26 21:14)
〔776〕Re:終了時にエラー送信ダイアログが… Hidemi Oya (07/11/26 22:28)
〔778〕Re:終了時にエラー送信ダイアログが… kabe (07/11/27 0:41)

〔769〕終了時にエラー送信ダイアログが…
 Hidemi Oya WEB  (07/11/26 1:26)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

 自宅常用マシンでは特に問題ありませんが、自宅サーバだと ACFinder 終了時に必ず WindowsXp のエラー送信ダイアログボックスが表示されます。今のところ、原因は全く特定できていません。/U オプション付きでも同様なので、独自DB検索システム用のデータベース更新ソフトとして使うのにちょっと困ります。
 なお、071123test 版に戻すと、エラー送信ダイアログは表示されなくなります。071125 版を再インストールすると、また同じ症状が発生します。

〔770〕Re:終了時にエラー送信ダイアログが…
 Hidemi Oya WEB  (07/11/26 11:26)

引用なし
    他のマシンでもチェックしてみました。Windows2000 マシンでも、やはり終了時に「アプリケーションエラー」になります。こちらも、071123test 版は OK です。
 また、インストーラ版でも ZIP 書庫でも同様なので、圧縮時にたまたまうまく行かなかったということではなさそうです。

 問題ないマシンと、問題の出るマシン、最も異なる環境は、Delphi がインストールされているかどうかというところです。どうも、常駐デバッガが Borland のデバッガなら OK だけど、Windows 標準の Dr.Watson だとダメなんじゃないかという感じがします。

〔771〕Re:終了時にエラー送信ダイアログが…
 Hidemi Oya WEB  (07/11/26 20:03)

引用なし
   > 問題ないマシンと、問題の出るマシン、最も異なる環境は、Delphi がインストールされているかどうかというところです。どうも、常駐デバッガが Borland のデバッガなら OK だけど、Windows 標準の Dr.Watson だとダメなんじゃないかという感じがします。
 もうひとつ、自宅サーバはクラシックスタイル、常用マシンはビジュアルスタイルという点が違ってました。Windows2000 は当然ビジュアルスタイルには対応していません。
 で、自宅サーバをビジュアルスタイルに切り替えてみましたが、やはり結果は同じでした。

〔774〕Re:終了時にエラー送信ダイアログが…
 kabe WEB  (07/11/26 21:14)

引用なし
   >Hidemi Oyaさん

kabe です。

> 自宅常用マシンでは特に問題ありませんが、自宅サーバだと ACFinder 終了時に必ず WindowsXp のエラー送信ダイアログボックスが表示されます。

開発過程で、症状が出ることは確認していますが、根本的な原因が何かわからず試行錯誤でエラーをなくしています。
新しいコントロールを貼り付けたり、プロパティを変更すると、なぜか終了時にエラーが出ることがあります。
最近の症状としては、薬剤タブのリストボックスの style をlbOwnerDrawFixedに変更して ItemHeight を変更したら、エラーがでました。これは元に戻しています。
071123版以降では、薬剤タブに Google検索用のラベルを貼り付けたくらいではないかと思います。これから試行錯誤してみます。

〔776〕Re:終了時にエラー送信ダイアログが…
 Hidemi Oya WEB  (07/11/26 22:28)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>新しいコントロールを貼り付けたり、プロパティを変更すると、なぜか終了時にエラーが出ることがあります。
 いつものだと、Delphi ランタイムが EMemoryAccessViolation を出しますが、今回は出ないので、もしかするとちょっと原因が違うかも…。
 同じ原因だとすると、今までのはどちらかというと、一度開放したオブジェクトをさらに開放しようとしてエラーが出ている感じがします。以前の ACFinder のソースでは、フォームに静的に貼り付けたビジュアルコンポーネントを動的に生成/開放しているところが結構ありました。少なくとも Delphi 標準コンポーネント以外については(できれば標準コンポーネントも)、動的に開放した後はオブジェクトに nil を代入しておいた方が間違いないです。

 基本的には、フォームに貼り付けたビジュアルコンポーネントは Delphi が自動生成/開放するので、これを動的に生成/開放するのはやめた方が良いと思います。どうしても動的に生成/削除する必要があるなら、uses に必要なユニットを記述するだけにして、フォーム上からは全て削除しておいてください。
 また、フォームを動的に生成する場合は、プロジェクトの自動生成フォームリストから削除するとともに、解放時には Free ではなく Release を使用するようにしてください。

〔778〕Re:終了時にエラー送信ダイアログが…
 kabe WEB  (07/11/27 0:41)

引用なし
   >Hidemi Oyaさん

kabe です。

> 少なくとも Delphi 標準コンポーネント以外については(できれば標準コンポーネントも)、動的に開放した後はオブジェクトに nil を代入しておいた方が間違いないです。
了解しました。このチェックは次回にします。

> また、フォームを動的に生成する場合は、プロジェクトの自動生成フォームリストから削除するとともに、解放時には Free ではなく Release を使用するようにしてください。
071126版でRelease の方だけ、気付いた部分修正しました。
今回のエラーは私の自宅環境では再現されないので、直ってるかどうかは未確認です。

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
36 / 114 ツリー <前へ | 次へ>
ページ:  ┃  記事番号:   
(SS)C-BOARD vv3.8 is Free.