共用方式為


ICE23

ICE23 會驗證每個對話框的控件定位順序。

ICE23 會在 [對話框] 數據表中驗證下列專案,控件數據表

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

結果

如果控件的定位順序未在對話框中形成單一封閉迴圈,ICE23 就會張貼錯誤訊息。

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

  • Dialog1 沒有Control_First。
  • 對話框對話框2 的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

 

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

Dialog 資料表中的每個數據列都沒有Control_First數據行中指定的控制項。 將 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 參考