いつもお世話になっております
win2000,VB6.0SP6で
プロジェクト上では、
On Error Resume Next のような
エラートラップが効くのですが
exeファイルにすると
エラートラップが働かなくなります
何か変な設定してるのでしょうか?
教えて下さい
これだけの情報では調べようが無いです。
例えばエラートラップより前で落ちてるとか…
エラートラップの処理までは確実に実行されて
ますか?処理の途中に、実行した処理のログを
テキストファイルに吐き出すような処理を
挿入して確認しましたか?。
その場合、エラートラップの処理の中で処理が
止まったり落ちたりしてますか?。
そこまで調べられてるならエラートラップのコードに
問題がある可能性が高いです。サンプルコードを
載せてどういう処理を行ってるか説明して下さい。
コンパイルオプションでPコードコンパイルをすると、どうなりますか。
>エラートラップが働かなくなります
その結果どのようになりますか?
トラップをくぐりぬける所でAPIなど使っているでしょうか。
すみません具体的ではないのですが
例えば、
Dim aaa As String
On Error Resume Next
{処理1}
{処理2}
{処理3}
for i=1 to cint(aaa) ・・・・・①
{処理4}
next
{処理5}
:
:
On Error goto 0
で aaa=""の時
プロジェクト(エディタ)上で実行すると
①を飛ばしてくれるのに
コンパイルをしてから
exeファイルを実行すると
エラー(型が違います)で引っかかることがあります
なぜですか?
まさか・・・。と思い自分の環境で試してみましたが、
落ちませんでした?
Private Sub Form_Load()
Dim aaa As String
On Error Resume Next
For i = 1 To CInt(aaa)
MsgBox "For文"
Next
MsgBox Err.Description
On Error GoTo 0
MsgBox Err.Description
End Sub
もう少し処理の中身を書いてもらえるとわかるかも