PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
22722 | 06/07/25 21:17:10 | RE(4):PB9.0: 画面の再描画について By カズ2002 |
22712 | 06/07/24 11:16:03 | RE(3):PB9.0: 画面の再描画について By カズ2002 |
22710 | 06/07/24 10:57:44 | RE(2):PB9.0: 画面の再描画について By カズ2002 |
22709 | 06/07/24 10:48:21 | RE(1):PB9.0: 画面の再描画について By Valkyrie |
22707 | 06/07/24 10:26:13 | PB9.0: 画面の再描画について By カズ2002 |
カテゴリ:スクリプトの記述
日付:2006年07月24日 10:26 発信者:カズ2002
題名:PB9.0: 画面の再描画について
画面の再描画で困っております。
あるボタンを押した後にレスポンスウィンドウを開き、そのOpenイベントの中で
ループ処理をさせているのですが、ループ10件単位で画面のスタティックテキスト
カウンタ表示として値をセットしています。
そこで困ったことに、ウィンドウがフォーカスを失ったり(別のアプリ等を開いたりして)、
そのウィンドウをクリックしたりすると画面描画が止まり応答なし状態になってしまいます。
処理は確実に動いているのですが、見た目上固まった感じに見えてよろしくありません。
カウンタセットのタイミングでWindowのRedrawや、スタティックテキストのRedraw、
画面のShow()関数、またはメッセージのYield()関数など、実行タイミング等も色々
変えて試してみてるのですが、どうもうまく行きません。
for l_row = 1 to dw_csv.rowcount()
if mod(l_row,10) = 0 then
st_current.text = string(l_row)
this.show()
setredraw(true)
st_current.setredraw(true)
Yield()
end if
// 重い処理
// ・
// ・
// ・
next
過去ログを検索して目ぼしい事は大抵試してみたのですがだめでした。
画面の再描画を確実にさせる良い方法を知っておられましたら教えて頂けないで
しょうか?
OS:Windows XP Pro SP2
PB:9.0.1 Build 6533J
DB:Oracle 10.2
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows XP
DBMS Oracle Net 10
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.