このページを共有

# ダイアログ・ボックスが開いているかどうかの確認

操作を実行する前に、ダイアログ・ボックスが開いているかどうかを確認することをお勧めします。このチェックは、たとえば次のような場合に有効です。

- ダイアログ・ボックスの更新は不要だが、グリッドを更新する必要がある場合。

- ダイアログ・ボックスが開いている状態ではワークフロー・イベントを実行してはならない場合。

ダイアログ・ボックスが開いているかどうかの確認には、DialogBox イベントを使用します。

## ベスト・プラクティス

予期しない結果が返されないようにするには、イベントが発生する前に、ダイアログ・ボックスが開いているかどうかを確認します。

次の例では、新しい不具合を作成するダイアログ・ボックスが開いているかどうかを確認します。`BG_USER_01` フィールドを変更可能にするのは、新規不具合のみです。不具合の編集など他のダイアログ・ボックスが開いている場合、`BG_USER_01` フィールドは編集できなくなります。

例:

    ' 各ダイアログ・ボックスのグローバル変数を宣言
    Dim NewDefectDialogIsOpen
    ' グローバル変数を初期化
    NewDefectDialogIsOpen = False
    Sub DialogBox(DialogBoxName, IsOpen)
        If DialogBoxName="New Bug" Then
            NewDefectDialogIsOpen = True
        Else
            NewDefectDialogIsOpen = False
        End If
    End Sub
    Function Bug_FieldCanChange(FieldName, NewValue)
    ' 関数の戻り値を初期化し、
    ' 予期しない動作を回避
    Bug_FieldCanChange = True
    ' BG_USER_01 フィールドが変更可能なのは新規不具合のみ
    If FieldName="BG_USER_01" Then
        If NewDefectDialogIsOpen Then
            Bug_FieldCanChange = True
        Else
            Bug_FieldCanChange = False
        End If
    End If
    End Function

先頭に戻る

https://admhelp.microfocus.com ALM 8942
検索結果の改善のヒント... ALM ヘルプセンター ALM ヘルプセンター ALM ヘルプ 17.0 すべてローカル・ヘルプセンターの表示オンライン・ヘルプセンターの表示戻るブラウザ履歴で元に戻る進むブラウザ履歴で前に進む検索の強調表示を解除次のトピック次のトピックに移動前のトピック前のトピックに移動現在のトピックを印刷バージョン: