- - PR -
Timer処理について
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-10-26 00:27
いつもお世話になっております。
Timer処理(10秒間隔)でサーバ上のあるディレクトリを監視し、 csv形式ファイルが作成されていれば(ファイル数は複数)、 RDBにCSV形式ファイルの内容を更新する…というプログラムをVB.NETで (Windowsフォーム)開発中です。 ディレクトリ内にまずcsv形式ファイルが何件存在するのか…を、 GetFilesメソッドで取得し、その件数分ループしながらファイル名を取得・ 開き中身を取り出して…という手順です。 (処理の終わったcsv形式ファイルは別ディレクトリに移動させます) もし、N/WやRDB側の問題で最初にこなすべき件数が終わり切らず、 次の10秒が経過してしまった場合、前述のディレクトリ内の件数取得部で 重複して処理しそうなのですが、Timer_Tickイベントは待ち状態に自動的に なってくれるのでしょうか? …分かりにくい文面で申し訳ございませんが、どなたかご教示お願いいたします。 | ||||||||||||
|
投稿日時: 2004-10-26 08:35
VB.NET のことはわかりませんが、プログラミング一般の話としまして。
あるイベントの振る舞いを確認したい、ということであれば実際にサンプルとして 小さなプログラムを書いてみてはいかがでしょうか? 定期イベントにより実行される処理に、定期イベントより長い待ち時間を設定し、 確認したい事と同じ状況を作ることは可能だと思うのですが。 | ||||||||||||
|
投稿日時: 2004-10-26 09:24
起動時に二重起動を防止するだけでよいのでは
| ||||||||||||
|
投稿日時: 2004-10-26 10:06
タイマーを無効にするとか、
フラグで実行中か見るとか、
メソッドを一旦イベントから切り離すとか、
| ||||||||||||
|
投稿日時: 2004-10-26 11:32
System.Windws.Forms.Timerの方なら少なくとも動作上ありえないと思います。
※Application.DoEvents()とかしてるなら注意が要るかも。 10秒間隔が絶対でないのなら、最初にとめてしまえばいいでしょう。 絶対というのは、処理完了から10秒後でいいのならということです。 | ||||||||||||
|
投稿日時: 2004-10-26 23:49
皆様、お忙しい中、色々とご指導有難う
ございました。 それぞれに参考にさせて頂きたいと思います。 有益な情報誠に有難うございました! | ||||||||||||
1
