PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
14977 01/04/07 12:55:49 RE(5):PB5.0.02: データウィンドウのRetrieveを中断するには(自己レス) By Chicchi
14936 01/04/03 22:11:30 RE(4):PB5.0.02: データウィンドウのRetrieveを中断するには(自己レス) By Taka
14893 01/03/29 16:41:31 RE(3):PB5.0.02: データウィンドウのRetrieveを中断するには(自己レス) By Chicchi
14889 01/03/29 13:59:19 RE(2):PB5.0.02: データウィンドウのRetrieveを中断するには By Chicchi
14859 01/03/28 00:36:08 RE(1):PB5.0.02: データウィンドウのRetrieveを中断するには By M.M
14857 01/03/27 18:23:15 PB5.0.02: データウィンドウのRetrieveを中断するには By Chicchi

カテゴリ:PowerBuilderの開発環境
日付:2001年03月29日 16:41 発信者:Chicchi
題名:RE(3):PB5.0.02: データウィンドウのRetrieveを中断するには(自己レス)

 RetrieveRowイベントでYield関数を用いてフラグを監視する
場合、ある程度のアイドル状態を作り出さないと認識されない
ようで、前回のスクリプト例のようにフラグを立てた後、すぐ
にレスポンスウィンドウをオープンしてしまうとRetrieveが中
断されないみたいです。で、以下のようにしたら正しく動作し
ましたのでご報告致します。

// RetrieveStartイベントのスクリプト
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ib_cancel = FALSE  // Retrieve中断フラグの初期化
ib_retrieve_end = FALSE  // Retrieve完了フラグの初期化

// RetrieveRowイベントのスクリプト
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Yield( )
IF ib_cancel THEN
   RETURN 1
END IF

// RetrieveEndイベントのスクリプト
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ib_retrieve_end = TRUE  // Retrieve完了フラグを立てる
// 行をダブルクリックされ、
IF ib_w_clicked THEN
   // それがRetrieve完了前だった場合、
   IF ib_cancel THEN
      // レスポンスウィンドウをオープンする
      Trigger Event ue_open_response( )
   END IF
END IF

// DoubleClickedイベントのスクリプト
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IF Row < 1 THEN
   RETURN
END IF
ib_w_clicked = TRUE  // \"ダブルクリックされた\"フラグをたてる
// Retrieveが完了している場合、
IF ib_retrieve_end THEN
   // レスポンスウィンドウをオープンする
   Trigger Event ue_open_response( )
// まだ完了していなければ、
ELSE
   // Retrieveを中断し、RetrieveEndからue_open_responseをトリガ
   ib_cancel = TRUE
END IF


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows98
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

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