ウィンドウオブジェクトが開いているかを判定する
2022/11/16
方法
同一のプロセス(アプリケーション)内で、既に対象の画面が開いているかを確認する場合は、Open の方法によって 2 種類の確認方法があります。
対象の画面のウィンドウオブジェクトをそのまま Open 関数に渡して開いている場合は、IsValid 関数によって画面が開かれていることを確認できます。
Open(w_1) IF IsValid(w_1) THEN MessageBox("警告", "w_1 は既に開いています。") END IF
また、変数とともにウィンドウオブジェクトの名称を文字列として渡している場合は、Open 関数に渡す変数をグローバル変数とし、そのグローバル変数をチェックすることで画面が開いているかを確認します。
// グローバル変数
window gw_sample
Open(gw_sample, "w_1") IF IsValid(gw_sample) THEN IF gw_sample.ClassName() = "w_1" THEN MessageBox("警告", "w_1 は既に開いています。") END IF END IF
Tips情報
プロダクト :PowerBuilder
バージョン :2019R3