OpenDialogを実行すると固まるのですが・・・


moki  2005-03-03 09:42:25  No: 13515

はじめまして、こんばんは。

熟練の方々にご教示いただきたい事がございます。
その内容ですが、windows2000SP4の環境でOpenDialogを使用すると呼び出した直後に固まってしまうのですが、同じ経験をされた方いらっしゃいませんか?
過去ログで紹介されていた解決案も効果がなく困っています。

ちなみに環境なのですが以下の2パターンで試験して結果が同じでした。

タイプ1
    Windows2000+SP4  Delphi7Pro  P4-2.4G  512MBメモリ  HDD80G

タイプ2
    Windows2000+SP4  Delphi2000Pro-Win32  P4-2.4G  512MBメモリ  HDD80G

ソースサンプル
procedure TForm1.OnButton1Click(Sender : TObject);
begin
  if OpenDialog1.Execute then
    begin
      :
      
      :
    end;
end;

さらに不可解なことに、最近まですんなり実行できていたプログラムを再コンパ
イルしただけで、OpenDialogで停止(暴走)してしまいます。
コンパイラ上でも実行ファイル形式でも症状が同じなのでコンパイラの問題なの
かとも思ったのですが実行ファイルを別のPCで実行させると正常に動作したりし
ます。

曖昧な質問で申し訳ありませんが、心当たりのある方・解決策をご存知の方
どうかよろしくご教示戴けますようお願いいたします。


りおりお  2005-03-03 10:44:47  No: 13516

>実行ファイルを別のPCで実行させると正常に動作したりします。

TOpenDialog は、Windows のコモンダイアログを表示しています。他のPCで
正常に動作するなら、あなたの環境が壊れているのでしょう。試しに、メモ帳
のファイルメニューから開く...を選んでみてください。もし、正常なら、
また別の問題と言えるかもしれません。


moki  2005-03-03 20:34:29  No: 13517

早速のご助言ありがとうございます。
仰るように他のアプリケーション(Windows付属アプリ等)で同じように試した
のですが、ダイアログはすべて正常に動作しております。

Delphiで生成したアプリケーションだけが、ダイアログ表示される場合とされない
場合があります。
しかもDelphi6以降あたりから症状があったのでDelphiのVCLやコンパイラに問題
があるような気はしているのですが・・・


ふぐちゃん  2005-03-03 21:36:30  No: 13518

Delphi-MLで過去に同じようなスレッドありました。
参考になりますでしょうか。
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=049183


moki  2005-03-04 02:24:43  No: 13519

ふぐちゃん 様

ご紹介いただいたページを拝見いたしましたが、症状が私の所で出ているのと
違いました。(^^;

せっかくご紹介いただいたのに残念です。
ですが、ご紹介いただいた事例もあるというのがわかっただけでもよかったと
思います。ありがとうございます。

その後の症状なのですが、とりあえず現在製作中のアプリケーションの他の部分を
作成してアセンブルしたら、今度は動作するのです。特に変わったコーディングを
したわけでもないのですが・・・原因がわかりません。
しかしながら、別の製作中アプリケーションは依然変わらず暴走しております。
うまくいっている方もいつまた症状が復活してしまうのかとヒヤヒヤしています。
とりあえず、追加報告まで・・・


Mark  2005-03-04 02:34:48  No: 13520

あー、同じ症状の人いたのか。。

ウィルスバスターなど、常駐して何かをするようなアプリは入れてないのに。。
何故かIDEで実行した状態だと自分も3回に1回は落ちます。。

あまり気にしてはいないですけど。。


マッコ  2005-03-04 03:52:36  No: 13521

変更、コンパイルをたくさん繰り返してると、必ず動くコードでも動かなくなるときがありますので(再構築しても)、変な動きになってきた場はい必要最小限ファイルを削除すると
直ることがあるので私は下記のものを削除できるバッチを作り実行しています。

*.tds
*.~*
*.dsm
*.dcu
*.dsk
*.dof

注記
削除するときはバックアップを取って実行したほうがいいと思います。


moki  2005-03-04 21:20:46  No: 13522

マッコ様

ご指摘いただきありがとうございます。
ご紹介いただいた拡張子のついたファイルを削除してみました。
100%ではありませんが、効果はありますね。
しかし、暴走する状態のアプリケーションを他のPCに持っていくと
何事もなかったかのように動くのとは直接的な解決策ではないようです。
また、正常動作するアプリケーションが他のPCで同様に暴走したりもする事例を
起こりました。
ちなみに他のPCにはOSをインストールしただけのきれいなPCもあります。
でも、正常動作してるアプリケーションはファイルオープンダイアログ表示の
直前で暴走しました。

もしかして、この問題は結構根が深いのでしょうか・・・

Mark様

3回に1回は相当の頻度ですね。
今私の製作中アプリケーションは、ファイルを開かないことには先に進めないので
Mark様みたいな頻度で起これば発狂もんです。(笑)


Capper  2006-03-08 22:20:21  No: 13523

症状は若干違うのですが
Delphi2005(WindowsXP)で以下のような操作をすると、落ちる現象があります。

①OpenDialogを利用してダイアログを表示させて、デスクトップ上にあるファイルを選択する。
②もう一度、ダイアログを表示させてデスクトップ上にある同じファイルにマウスのカーソルを合わせます。(クリックしません)
③このままマウスカーソルをファイルに合わせた状態にすると、通常はファイル情報が表示されるはずなのですが、見事に落ちます。
④これで落ちなかったときでも、②→③の作業をもう一度行うと落ちました。

Windows2000(セレロン700MHz)上のDelphi5でコンパイルしたソフトを、速いPC(WindowsXP ペンティアム4 2.4G)で実行しましたところ、Delphi5でも同様の事が起きました。

エラーダイアログには
bds.exe bordbk90N.DLL  Internal Error IMP-2627 等々が表示されています。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加