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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.




