プログレスバー表示用メソッドのひとつ。JCL_pgs_Showから呼ばれて、別プロセスでフォームを表示する。
使い方
$ProcessNo:=New process(“JCL_pgs_Open”; 0; “JCL_pgs_Open”; $msg)
引数
$1: タイトル行の文字列
//JCL_pgs_Open
//プログレスバー表示プロセス
//$1:メッセージ
//20080605 矢部 新規作成
C_TEXT($1; vP01_Title)
vP01_Title:=$1
//ウィンドウ表示
C_LONGINT($winRef)
$winRef:=Open form window("P01_Bar"; \
Modal dialog box; Horizontally centered; Vertically centered)
DIALOG("P01_Bar")
CLOSE WINDOW
説明
Open form windowを使って「P01_Bar」というフォームを表示している。このフォームをプロジェクトフォームで次のように作成しておく。
「キャンセル」ボタンの名前は「vP01_btnCancel」オブジェクトメソッドは次の通り。
//vP01_btnCancel
//20191105 rename ike wat
//実装し忘れていた、そのためキャンセルできなかった
<>P01_Cancel:=True
フォームメソッドも必要。次の通り。
P01_frm
//P01_frm
//20111127 wat
//フォームメソッド
//20080605 矢部 新規作成
Case of
: (Form event code=On Load)
P01_frmOnLoad
: (Form event code=On Timer)
P01_frmOnTimer
End case
//P01_frmOnLoad
//20111127 wat
//プログレスバーのオンロード
<>P01_Meter:=0 //初期化
<>P01_Msg:=""
<>P01_Count:=""
SET TIMER(1) //1/2秒
//P01_frmOnTimer
//20111127 wat
//プログレスバーのオンタイマー
If (<>P01_Cancel=True)
CANCEL
End if
フォームメソッドはモジュール化されているため説明は面倒だが、いつものことなのでそのまま掲載した。プログレスバーの仕組みは、ほぼほぼこのJCL_pgs_OpenをNew processで呼び出すことにあるのだが、使うときには見えないようにしている。