PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
22574 06/03/28 17:41:15 RE(7):PB7.0: ウィンドウのタイトルバーに”応答なし”の表示 By HY_1203
22573 06/03/28 16:46:40 RE(6):PB7.0: ウィンドウのタイトルバーに”応答なし”の表示 By ace
22572 06/03/28 16:21:46 RE(5):PB7.0: ウィンドウのタイトルバーに”応答なし”の表示 By HY_1203
22571 06/03/28 14:45:11 RE(4):PB7.0: ウィンドウのタイトルバーに”応答なし”の表示 By HY_1203
22570 06/03/28 14:25:15 RE(3):PB7.0: ウィンドウのタイトルバーに”応答なし”の表示 By ace
22569 06/03/28 13:49:20 RE(2):PB7.0: ウィンドウのタイトルバーに”応答なし”の表示 By HY_1203
22568 06/03/28 11:48:48 RE(1):PB7.0: ウィンドウのタイトルバーに”応答なし”の表示 By ace
22567 06/03/28 11:42:58 PB7.0: ウィンドウのタイトルバーに”応答なし”の表示 By HY_1203

カテゴリ:PowerBuilderの開発環境
日付:2006年03月28日 14:25 発信者:ace
題名:RE(3):PB7.0: ウィンドウのタイトルバーに”応答なし”の表示

HY_1203さん、こんにちは。
YIELD()はループ中にWindowsのメッセージキューをチェックし、先にキューにたまったメッセージを
処理後続きのスクリプトを動かします。
また、SetPointer(HourGlass!)は、スクリプトが終了すると元のポインターに自動的に戻すので
恐らくこのあたりに問題があると推測されます。
そこで、

案1
文頭でPointerプロパティに対し、HourGlass!をセット、終了時にArrow!をセット

w_1.Pointer = \'HourGlass!\'
DO WHILE 条件
YIELD()
   .....
   .....
LOOP
w_1.Pointer = \'Arrow!\'


案2
YIELD()の記述の下にSetPointerを記述
DO WHILE 条件
YIELD()
SetPointer(HourGlass!)
//ココから
   .....           
   .....
//ココまで実行中はHourGlass!
LOOP

>また、YIELD()は、ループに入った直後、一回記述すれば宜しい
>のでしょうか。
ループ1回の処理時間に依存すると思われます。
ループの中に処理時間のかかる処理があった場合、その処理の間にも
いったん制御を戻すようにYIELD()を記述したらいかがでしょうか?



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows XP
DBMS Sybase Open Client 12
Browser (記載なし)

Server SoftWare

OS Solaris
DBMS Sybase ASE 12.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.