ウィンドウオブジェクトが開いているかを判定する

PowerBuilder Tips

方法

同一のプロセス(アプリケーション)内で、既に対象の画面が開いているかを確認する場合は、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

Tips 一覧を見る
PowerBuilder マイグレーション
PowerBuilder学習、動画で始めちゃう?