Dirファイル検索後、ファイル消失時のエラーを回避するには?

解決


じんくん  2003-10-01 02:33:40  No: 79617

いつも、いろいろ参考にさせていただいております。
私は、VB6初心者です。環境はWin2000Proです。
質問内容は、下記プログラムのように、Dir関数でファイル検索した直後に、
対象のファイルが削除された時、「ファイルがありません」で、アプリケーション
が強制終了してしまいます。(ほんのタイミングで、重なった時です。)
Dir関数後、そのファイルを実際使用するまでに、ファイルが消失した際の
回避方法があれば教えて下さい。
アプリケーションが止まらない方法であれば助かります。
よろしくお願いします。

●ファイルコピー時
Myfile = Dir("c:\abc.jpg")                        <==ここではOKだが
If Myfile = "abc.jpg" Then                        ifファイルがあったら…
    FileCopy "c:\abc.jpg", "c:\123.jpg"          <==このタイミングで消失
End If

●イメージ表示時
Myfile = Dir("c:\abc.jpg")                       <==ここではOKだが
If Myfile = "abc.jpg" Then                        ifファイルがあったら…
    Image1.Picture = LoadPicture("c:\abc.jpg")  <==このタイミングで消失
End If


nanashi  2003-10-01 02:41:35  No: 79618

On Error ステートメントで回避すれば良いんじゃないですか?


じんくん  2003-10-02 02:55:47  No: 79619

nanashi殿>昨日は、早速の回答ありがとうございました。
今朝から、下記のように、On Error ステートメントを追加し、
試験していますが、夜までに、強制終了はみられませんでした。
無事、内部で繰り返られている模様です。
初心者で、エラー回避の基礎も知らず、申し訳ありませんでした。
また今後も、何かわからいことが多々あるかもしれませんが、
何とぞ、よろしくお願いします。
本当にありがとうございました。

●エラー回避追加プログラム
Private Sub abc()
  On Error GoTo ErrorHandler
            :
          <本文省略>
            :
Exit Sub
ErrorHandler:                     ' エラー処理ルーチン。
   Resume                          '継続処理
End Sub


・・・  2003-10-04 01:15:55  No: 79620

On Error使うより違うフォルダをDirしたほうがいいと思う・・・


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

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






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