dprファイルとexeファイルを実行時の挙動の違い

解決


mtt  2013-09-11 13:04:52  No: 45237  IP: 192.*.*.*

初歩的な質問で申し訳ありませんが、dprファイルを実行した時とexeファイルを実行した時で
同じ操作をしているにも関わらず、exeから実行した時にはでないエラーがdprで実行した時に発生します。
エラー内容はEVariantTypeCastErrorクラスの例外です。
「Null型からString型へのバリアント型変換はできません」と表示されます。
実行時にエラーが出る出ないの差は両者ででるものなのでしょうか?
ご教示願います。。

編集 削除
Harry  2013-09-12 13:13:32  No: 45238  IP: 192.*.*.*

環境を書きましょう!

dprファイルを実行、という表現が分かりません。
dprはダブルクリックするとDelphiが立ち上がりますよね。
IDE上でデバッグ実行のことでしょうか?

>実行時にエラーが出る出ないの差は両者ででるものなのでしょうか?
たまーに出たり、場合により確実に出たりと、微妙に動作が異なることはありますよ。

何か特殊なコンポーネント使ってませんか?

編集 削除
mtt  2013-09-13 09:03:13  No: 45239  IP: 192.*.*.*

>IDE上でデバッグ実行のことでしょうか?
そういうことです。表現が不適切で申し訳ありませんでした。
動作が異なることもあるんですね。exe実行ではエラーでないのでとりあえず様子見ですかね。
環境はWindows7  Delphi7です。
特殊なコンポーネントについては分からないのですが…
ご回答ありがとうございました。

編集 削除
mtt  2013-09-13 09:04:26  No: 45240  IP: 192.*.*.*

とりあえず解決済みにさせて頂きます。

編集 削除
tor  2013-09-13 11:13:15  No: 45241  IP: 192.*.*.*



解決済みになった後で何ですが、さんが言っているのはノトナのデバッガが例外を捕まえてブレークする話でしょうか?

通常、実行時に例外が発生しても、プログラムがその例外を(たとえばョョョ構文で)
きちんととらえてエラー処理するようになっていれば、ユーザーに例外が表示されることはありません。

しかし、ノトナのデバッガで実行する際には、プログラムが例外を捕まえる前に割り込んで実行を停止させる機能があります。
(これは例外が発生したそもそもの原因を突き止めやすくするためです)
この場合、ニケを押して継続すれば、何事もなかったかのように実行が進むはずです。

この挙動はデフォルトでオンになっていますが、
「例外出るのはわかっててちゃんと処理してるんだから、いちいち止めなくていいよ」という場合は
ツールヲサュヲサオプションヲサュヲサデバッガオプションヲサュヲサ言語固有の例外ヲサのところにある「言語の例外で通知」で設定を変更できます。
(その上にあるリストボックスで、例えば「ナヨヤテナは無視する」といった細かい設定も可能です)
スススススススススススススススススススススススススススススススススススススススス
ニコ ネ
トコ イーアウッーケッアウィ金ゥ アイコエエコイア  書込者ノト:ロ 」「。  ン

なるほど、↓こんな感じですね。ヲサを実行した時は例外のエラーダイアログが表示されない。

ヲサヤニアョツアティモコヲサヤマゥサ

ヲサヲサ
ヲサヲサヲサヲサモヘィヤマィゥョテホゥサ
ヲサヲサ
ヲサヲサヲサヲサヲサナコヲサナヲサヲサモョテコスァ例外が発生してます!ヲサァォナョヘサ
ヲサヲササ

スススススススススススススススススススススススススススススススススススススススス
ニコ 
トコ イーアウッーケッアクィ水ゥ アアコエエコアカ  書込者ノト:ロ 」「  、 ン

さん  ネさん
ものすごく返事が遅くなってしまい申し訳ありません。
ご説明を見て現象の原因に納得がいきました。
拙い説明での質問でしたが、意図を汲んでくださりありがとうございました。

編集 削除