共用方式為


ICE23

ICE23 會驗證每個對話方塊的控制項定位順序。

ICE23 會在 [對話方塊] 資料表[控制項] 資料表中驗證下列各項:

  • Dialog 資料表中的每個記錄都會指定Control_First資料行中的控制項,該控制項存在於 Dialog 資料行所指定的對話方塊中。
  • Control 資料表中的每個記錄都會指定Control_Next資料行中的控制項,該控制項位於控制項資料行所列的相同對話方塊中,或Control_Next包含 Null 值。
  • 在控制項資料表中從控制項到控制項Control_Next專案之後,會建立回到初始控制項的單一封閉迴圈。 並非每個控制項都必須在 迴圈中,但迴圈必須通過Control_Next資料行中具有專案的每個控制項。

結果

如果控制項的定位順序在對話方塊中沒有形成單一封閉迴圈,ICE23 就會張貼錯誤訊息。

範例

ICE23 會針對顯示的範例張貼下列錯誤訊息。

  • Dialog1 沒有Control_First。
  • 對話方塊 Dialog2 的Control_First是指不存在的控制項 ControlX。
  • Dialog3 在 ControlB 有死結定位順序。
  • Dialog4 在 ControlC 的定位順序不正確
  • Dialog5 在 ControlC 上格式不正確的定位順序。
  • Control_Next控制項 Dialog6.ControlC 連結至未知控制項。

對話方塊資料表 (部分)

對話 Control_First
Dialog1  
Dialog2 ControlX
Dialog3 ControlA
Dialog4 ControlA
Dialog5 ControlA

 

控制資料表 (部分)

對話 控制 Control_Next
Dialog1 ControlA  
Dialog1 ControlB ControlA
Dialog2 ControlA ControlB
Dialog2 ControlB ControlA
Dialog3 ControlA ControlB
Dialog3 ControlB  
Dialog4 ControlA ControlB
Dialog4 ControlB ControlC
Dialog4 ControlC ControlB
Dialog5 ControlA ControlB
Dialog5 ControlB ControlC
Dialog5 ControlC ControlA
Dialog5 ControlD ControlA
Dialog6 ControlA ControlB
Dialog6 ControlB ControlC
Dialog6 ControlC ControlX
Dialog6 ControlD ControlA

 

若要修正這些錯誤,請記下上述表格中的下列內容,並進行指示的變更。

並非對話方塊資料表中的每個資料列都有Control_First資料行中指定的控制項。 將 Dialog1 資料表中 Dialog1 記錄的Control_First資料行變更為 Dialog1 中存在的控制項。

對話方塊資料表中的每個資料列都具有對話方塊上存在之Control_First資料行中指定的控制項。 將 Dialog2 的Control_First資料行變更為 Dialog2 中存在的控制項。

在控制項資料表中的Control_Next專案從控制項到控制項之後,不會在每個案例中建立封閉迴圈。 將 Dialog3 中 ControlB 的Control_Next資料行變更為 ControlA。

在控制項資料表中從 控制項到控制項中的Control_Next專案,不會在每個案例中回到初始控制項。 變更 Dialog4 中 ControlC 的Control_Next資料行,以參考 ControlA。

在控制項資料表中從控制項到控制項中的Control_Next專案之後,不會通過對話方塊中具有Control_Next資料行中專案的每個控制項。 將 Dialog5 中 ControlC 的Control_Next資料行變更為 ControlD。

Control_Next未參考與 [控制項] 資料行所列控制項位於相同對話方塊中的有效控制項。 變更 Dialog6 中 ControlC 的Control_Next資料行,以參考 ControlD。

ICE 參考