- ベストアンサー
Timer
VB6.0で開発しています。 SQL問合せ中や、SHELLでDOSプロンプト実行中、 ファイルの圧縮中など、 処理時間が掛かるものにプログレスバーを表示しています。 Timerで時間毎に動いていればいいって感じなのですが、 SQL問合せ中など、動いてくれません。 画面をリフレッシュしても、DoEventsを入れてもダメです。 何か方法ありますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
流れ的には、 非同期接続 SQL問い合わせ Do Until SQL問い合わせ完了 = True プログレスバーを表示 Loop SQL問い合わせ完了を表示 こんな感じじゃないですかね。 他も考え方は同じかと。 作りによってはDo~Loopで回すのではなく、フラグを立てておいて別の処理ができるようにするとかあると思います。
お礼
ありがとうございます。 非同期接続について調べてみます。 DOSプロンプトをSHELLでキックしているのは非同期ですから、 なんとかなりそうですね。 今は、APIのWaitで待っています。 そこをLOOPにしてプログレスバーを表示できるか やってみます。 ありがとうございました。
補足
補足します。 ADOで非同期接続をしました。 そしたら、うまくいきまいた!! ありがとうございました。 ただ、別の問題が出たので、 再度、別で質問します。