[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/02/16(Fri) 10:48
投稿者名:さくら
Eメール:
URL :
タイトル:
ファイル監視について
お世話になります。質問をさせて頂きます。
あるフォルダ(例えばc:\temp)のファイル存在有無を監視し
処理を行なうシステム開発を考えています。
このフォルダには他システムから不定期でファイルがコピーされます。
ファイルがコピーされたら、ファイル内容のデータチェックや
DB登録などの処理を行い最後にファイル削除を行なうのが一連の流れです。

そこで2つ、質問をさせて下さい。

1.常駐監視をする場合、タイマーコントロールの使用し
  監視を考えていますが、これはベストな方法と考えられるでしょうか?
  他に方法がありましたらご教授をお願い致します。

2.例えばフォルダへ2つのファイルが存在した場合、
  順番に処理を実行するのですが、
  ファイルによっては、処理時間が長くタイムラグが発生する場合があり
  マルチスレッドな処理を検討しています。
  サンプルとなるようなプログラムなどありましたらご教授をお願い致します。

環境:VB6.0 SP6 ,Window XP

以上、宜しくお願い致します。

投稿時間:2007/02/16(Fri) 12:27
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: ファイル監視について
> 1.常駐監視をする場合、タイマーコントロールの使用し
>   監視を考えていますが、これはベストな方法と考えられるでしょうか?
>   他に方法がありましたらご教授をお願い致します。
http://www.google.com/search?q=Declare+Function+FindFirstChangeNotification&num=50&hl=ja&filter=0&lr=lang_ja&ie=Shift_JIS
1番目のヒットとか、ファイル・フォルダ・監視をキーワードに検索しても色々見つかります。

> 2.例えばフォルダへ2つのファイルが存在した場合、
>   順番に処理を実行するのですが、
>   ファイルによっては、処理時間が長くタイムラグが発生する場合があり
>   マルチスレッドな処理を検討しています。

VB6.0 ではマルチスレッド事態ができないというのが一般的な回答です。
どのような不都合があってどのようにしたいのかによって他の方法を考えた方が
いいかと思います。

投稿時間:2007/02/16(Fri) 12:39
投稿者名:さくら
Eメール:
URL :
タイトル:
Re^2: ファイル監視について
花ちゃん
感謝します。

> 1番目のヒットとか、ファイル・フォルダ・監視をキーワードに検索しても色々見つかります。

有難う御座います。参考にします。

> VB6.0 ではマルチスレッド事態ができないというのが一般的な回答です。
> どのような不都合があってどのようにしたいのかによって他の方法を考えた方が
> いいかと思います。

平行処理と同様な観点で開発を検討する場合、
VB6.0でしたら、どのような代替案(方法)があるでしょうか?

以上、宜しくお願い致します。

投稿時間:2007/02/16(Fri) 13:02
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: ファイル監視について
> 平行処理と同様な観点で開発を検討する場合、
貴方の言うマルチスレッド と平行(並行?)処理の違いは?

> VB6.0でしたら、どのような代替案(方法)があるでしょうか?
だから、どのような不都合があってどのようにしたいのかによって変ってくるのでは。
http://www.drive.co.jp/asp/faq/faq_sanka.asp?q_id=30901&genre=VisualBasic

投稿時間:2007/02/16(Fri) 13:22
投稿者名:さくら
Eメール:
URL :
タイトル:
Re^4: ファイル監視について
> 貴方の言うマルチスレッド と平行(並行?)処理の違いは?

単なるタイプミスです。(失礼しました)
並行に動作しているような処理の検討、及び質問をしてみただけです。

> > VB6.0でしたら、どのような代替案(方法)があるでしょうか?
> だから、どのような不都合があってどのようにしたいのかによって変ってくるのでは。
> http://www.drive.co.jp/asp/faq/faq_sanka.asp?q_id=30901&genre=VisualBasic

例えば、代替案として一番現実的で安全なActiveX EXEを使う方法などです。
いくつか候補を挙げて検討を行ってみます。
ありがとうございました。