• ベストアンサー

VB2005 1つのファイルに2つのプログラムからアクセス

今、検査機からのデータを他の場所で見るプログラムを作成しています。 検査機のデータをPC(パソコン)Aに書き込む(書き込みは15秒に1回) このデータをPC Bで読み込む。(PCは複数台で特に限定はなし) プログラムを作成して実行すると PC Bが読み込みを行っている時PC Aのプログラムが書き込みに行くと 他のプロセスで使用しているため実行できません のエラーが出ます。 そこで、他のプログラムが使用しているかどうかを調べる方法はないでしょうか。 よろしくご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

いちばん簡単なのは >他のプロセスで使用しているため実行できません のエラーが出ます を利用することです。 Aのプログラムが書き込みに行くところにTry~Catch等のエラートラップを入れて、 エラーが発生したら(特定のエラーだけ検知することも可能)、例えば数秒待って もう一度書き込みに行くとか(ここの処理についてはとりあえず言及しません)、 それなりの処理をしてやればいいです。 そもそもPCが違うので、相手側のプログラムが動いているかどうかすら、 自力で何らかの仕組みを作らないと管理できないと思いますよ。たぶん。 (共有可能なDBとかに動作状況を逐一書き込むとか) 書き込み中かどうか等も、管理しようとして出来なくは ないと思いますが、 正直、労力の無駄のような気もします。

samo3177
質問者

お礼

早速の回答ありがとうございます。

samo3177
質問者

補足

現在は、Try エラーでプログラムが止まるのを回避しています。 たとえば fileinfo のような簡単な関数でファイルが使用中かどうかがわかればと思ったのですが無いようですね。

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1416)
回答No.2

そのまんまじゃないですか? 「他のPCが使用しているからエラーになる。」          ↓ 「エラーになるなら他のPCが使用している。」 先ず、エラーハンドリングで拾って、それからリトライする等の処置を 考えればよいのでは?

samo3177
質問者

お礼

早速の回答ありがとうございます。

samo3177
質問者

補足

エラーを検知しているので、VBでは何か関数があると思ったのですがなさそうですね。

関連するQ&A