電子書籍の厳選無料作品が豊富!

VB6.0で開発しています。

SQL問合せ中や、SHELLでDOSプロンプト実行中、
ファイルの圧縮中など、
処理時間が掛かるものにプログレスバーを表示しています。
Timerで時間毎に動いていればいいって感じなのですが、
SQL問合せ中など、動いてくれません。
画面をリフレッシュしても、DoEventsを入れてもダメです。

何か方法ありますか?

A 回答 (1件)

流れ的には、



非同期接続
SQL問い合わせ
Do Until SQL問い合わせ完了 = True
プログレスバーを表示
Loop
SQL問い合わせ完了を表示

こんな感じじゃないですかね。
他も考え方は同じかと。
作りによってはDo~Loopで回すのではなく、フラグを立てておいて別の処理ができるようにするとかあると思います。

この回答への補足

補足します。

ADOで非同期接続をしました。
そしたら、うまくいきまいた!!
ありがとうございました。

ただ、別の問題が出たので、
再度、別で質問します。

補足日時:2006/09/29 22:40
    • good
    • 0
この回答へのお礼

ありがとうございます。

非同期接続について調べてみます。
DOSプロンプトをSHELLでキックしているのは非同期ですから、
なんとかなりそうですね。
今は、APIのWaitで待っています。
そこをLOOPにしてプログレスバーを表示できるか
やってみます。

ありがとうございました。

お礼日時:2006/09/28 17:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!