- ベストアンサー
VB2005 1つのファイルに2つのプログラムからアクセス
今、検査機からのデータを他の場所で見るプログラムを作成しています。 検査機のデータをPC(パソコン)Aに書き込む(書き込みは15秒に1回) このデータをPC Bで読み込む。(PCは複数台で特に限定はなし) プログラムを作成して実行すると PC Bが読み込みを行っている時PC Aのプログラムが書き込みに行くと 他のプロセスで使用しているため実行できません のエラーが出ます。 そこで、他のプログラムが使用しているかどうかを調べる方法はないでしょうか。 よろしくご教授ください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
いちばん簡単なのは >他のプロセスで使用しているため実行できません のエラーが出ます を利用することです。 Aのプログラムが書き込みに行くところにTry~Catch等のエラートラップを入れて、 エラーが発生したら(特定のエラーだけ検知することも可能)、例えば数秒待って もう一度書き込みに行くとか(ここの処理についてはとりあえず言及しません)、 それなりの処理をしてやればいいです。 そもそもPCが違うので、相手側のプログラムが動いているかどうかすら、 自力で何らかの仕組みを作らないと管理できないと思いますよ。たぶん。 (共有可能なDBとかに動作状況を逐一書き込むとか) 書き込み中かどうか等も、管理しようとして出来なくは ないと思いますが、 正直、労力の無駄のような気もします。
その他の回答 (1)
- nda23
- ベストアンサー率54% (777/1416)
そのまんまじゃないですか? 「他のPCが使用しているからエラーになる。」 ↓ 「エラーになるなら他のPCが使用している。」 先ず、エラーハンドリングで拾って、それからリトライする等の処置を 考えればよいのでは?
お礼
早速の回答ありがとうございます。
補足
エラーを検知しているので、VBでは何か関数があると思ったのですがなさそうですね。
お礼
早速の回答ありがとうございます。
補足
現在は、Try エラーでプログラムが止まるのを回避しています。 たとえば fileinfo のような簡単な関数でファイルが使用中かどうかがわかればと思ったのですが無いようですね。