DBアクセスを減らしたい(最前面等を検知でON/FF?)

解決


RIN  2013-09-17 19:59:46  No: 45284

環境:DelphiXE3、Windows7、64

「在席/不在を管理するソフト」のような感じの
「ある物品を利用中か否かを管理するソフト」を作ろうとしています。

NAS上に置いてあるDB(SQLite)にて、
「ID,利用中or利用可能、利用者名」を管理しています。

さてここで、ユーザーがこのソフトを起動している間中、
定期的にDBに問合せして状況を取得させるのは無駄に思うのです。
つまり「ソフトがアクティブな時だけ」いいえ欲を言えば、
「ソフトが前面に見えている時だけ」DBへの問合せをしたいのです。

そういうことは可能でしょうか?
可能な場合、どうしたら良いのでしょうか?

また他にも、
「自動で必要な時だけDBへ問い合わせるアイデア」がありましたら、
ぜひ教えて下さい。

よろしくお願いいたします。


Hota  2013-09-17 23:00:11  No: 45285

単純に、FormのOnActivateイベントでDBへ問い合わせるのでいいのではと思います。


RIN  2013-09-18 00:44:59  No: 45286

Hotaさん
返信ありがとうございます。

OnActivateを試してみたところ、FormCreateの後に1回だけ実行されるだけのようで、
残念ながら、最小化してから戻したり、他のソフトをアクティブにしてから戻したりしても、
OnActivateは処理されませんでした。

また何かありましたら懲りずにぜひ教えて下さい。
よろしくお願いいたします。


Quest  2013-09-18 02:19:18  No: 45287

メインフォームのActiveプロパティが
Trueの時だけ定期的にDBへ問い合わせで
多分いけるんじゃないかな?


RIN  2013-09-18 02:32:12  No: 45288

Quest さん
いけました、ありがとうございました。


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

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






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