ウィザードの HTML ファイルでのエラー処理

更新 : 2007 年 11 月

ユーザー インターフェイスを持つウィザードを作成すると、プロジェクトは .htm ファイルをインクルードします。これらのファイルを使用して、プロジェクトをカスタマイズします。詳細については、「HTML ファイル」を参照してください。

プロジェクトにはエラー処理を組み込む必要があります。エラー処理を組み込むコードの例を次に示します。

HTML でエラーを処理するには

  1. フィールドを検証するときに、エラー情報を設定する必要のある DLL の検証メソッドを呼び出す場合は、パラメータを指定せずに ReportError を呼び出します。

    function ValidateInput()
    {
       if (!window.external.ValidateFile(HEADER_FILE.value))
       {
          ReportError();
          HEADER_FILE.focus();
          return false;
       }
    }
    
  2. フィールドを検証するときに、HTML スクリプトだけを使用して検証する場合は、SetErrorInfo を最初に呼び出してから、パラメータを指定せずに ReportError を呼び出します。

    function OnWhatever()
    {
       if (!ValidateInput())
          window.external.ReportErrror();
       ....
    }
    
    function ValidateInput()
    {
       .....
    
       if (HEADER_FILE.value == IMPL_FILE.value)
       {
          var L_ErrMsg_Text = "Header and implementation files cannot have the same name.";
          SetErrorInfo(L_ErrMsg_Text);
          bValid = false;
       }
       if (TYPE.value == "")
       {
          var L_ErrMsg4_Text = "Type cannot be blank.";
          SetErrorInfo(L_ErrMsg4_Text);
          bValid = false;
       }
       return bValid;
    }
    
  3. パラメータを指定して ReportError を呼び出します。

    function ValidateInput()
    {
       if (!IsListed(strType))
       {
          var L_Invalid2_Text = "The variable type should be one of the types listed.";
          window.external.ReportError(L_Invalid2_Text);
          VariableType.focus();
          return false;
       }
    }
    
  4. [新しいプロジェクト] ダイアログ ボックスまたは [新しい項目の追加] ダイアログ ボックスに戻る必要がある場合は、VS_E_WIZBACKBUTTONPRESS を返します。

    try
    {
       oCM   = window.external.ProjectObject.CodeModel;
    }
    catch(e)
    {
       var L_NCBError_Text = "Cannot access the Class View information 
    (.ncb) file. Class View information will not be available.";
       window.external.ReportError(L_NCBError_Text);
       return VS_E_WIZARDBACKBUTTONPRESS;
    

参照

概念

ウィザード用に作成されるファイル

ウィザードのカスタマイズ