喫茶XRAYトップページ

[スレッド全体
]

[12627] 無題返信 削除
2019/3/14 (木) 17:48:07 Villa 〔HomePage
質問させていただきます。

現在、VCLフォームアプリケーションのシステムを作成しており、
TADOQueryを使用してSQL文をOpenしています。

そのデータベースの量が多く、結果のレスポンスが遅いため
progressbarを出して、styleプロパティを「pbstMarquee」に設定して起動させています。

問題はここからで、SQLの結果のレスポンスが遅いためなのか、
GUIの更新がなく、progressbarも止まったままで、SQLの結果が返ってきた後に動く、
ということになってしまっています。

どこで、マルチスレッド?のような仕組みで、
クエリのOpenとは別にProgressbarは動くようにならないものか、と思いました。

それができれば、同一フォーム内の複数のTADOQueryを同時オープンとかができるのではないか、、、など期待しております。

下手な文章ですが、もし手掛かりがあるようでしたら、教えていただけると幸いです。

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

[12651] 雑感返信 削除
2019/3/16 (土) 17:26:38 Mr.XRAY
スレッドをざっと読み返してみると,
スゲーなぁ.
TProgressbar の問題というか現象に置き換えてしまうのもスゴイですが.
と思ったら,こんなのがありました.なるほど
Application.ProcessMessage はともかく,Sleep 関数使っていますからね.

[ProgressBar.Style := pbstMarqueeの使い方]
https://www.freeml.com/delphi-users/3479/latest

[01_Sleep 関数とマルチメディアタイマーを使用したテスト]
http://mrxray.on.coocan.jp/Delphi/plSamples/700_WaitSleep.htm#01

ですので.

プログラムというのはコードを書いて,それを実行するわけですから,
環境もコードもない質問というのはレスとレスの内容が難しいですね.
そのいい見本かも知れません.

Delphi のコミュニティの場での質問だったら絶対にレスしないですね 今は(笑)
レスしたとしても嫌味の羅列になること間違いなしです.ハハハッ.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82