ICE23

ICE23 überprüft die Aktivierreihenfolge des Steuerelements für jedes Dialogfeld.

ICE23 überprüft Folgendes in der Dialog-Tabelle und in der Control-Tabelle:

  • Dass jeder Datensatz in der Dialog-Tabelle ein Steuerelement in der „Control_First“-Spalte angibt, das in dem Dialogfeld vorhanden ist, das durch die Dialog-Spalte angegeben wird.
  • Dass jeder Datensatz in der Control-Tabelle ein Steuerelement in der „Control_Next“-Spalte angibt, das sich im selben Dialogfeld wie das Steuerelement befindet, das in der Control-Spalte aufgeführt ist, oder „Control_Next“ enthält den Null-Wert.
  • Dass das Durchlaufen der „Control_Next“-Einträge vom Steuerelement zu Steuerelement in der Control-Tabelle eine einzelne geschlossene Schleife ergibt, die wieder beim anfänglichen Steuerelement ankommt. Nicht jedes Steuerelement muss sich in der Schleife befinden, aber die Schleife muss jedes Steuerelement durchlaufen, das über einen Eintrag in der „Control_Next“-Spalte verfügt.

Ergebnis

ICE23 gibt eine Fehlermeldung aus, wenn die Aktivierreihenfolge von Steuerelementen keine einzige geschlossene Schleife im Dialogfeld bildet.

Beispiel

ICE23 würde die folgenden Fehlermeldungen für das gezeigte Beispiel ausgeben.

  • Dialog1 hat kein Control_First.
  • Control_First des Dialogfelds Dialog2 bezieht sich auf das nicht vorhandene Steuerelement ControlX.
  • Die Aktivierreihenfolge in Dialog3 landet bei Steuerelement ControlB in einer Sackgasse.
  • Die Aktivierreihenfolge in Dialog4 ist bei Steuerelement ControlC fehlerhaft.
  • Die Aktivierreihenfolge in Dialog5 ist bei Steuerelement ControlC fehlerhaft.
  • Control_Next von Steuerelement „Dialog6.ControlC“ verknüpft mit einem unbekannten Steuerelement.

Dialog-Tabelle (partiell)

Dialog Control_First
Dialog1  
Dialog2 ControlX
Dialog3 ControlA
Dialog4 ControlA
Dialog5 ControlA

 

Control-Tabelle (teilweise)

Dialog Control 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

 

Um diese Fehler zu beheben, beachten Sie Folgendes in den obigen Tabellen, und nehmen Sie die angegebenen Änderungen vor.

Nicht für jede Zeile in der Dialog-Tabelle ist ein Steuerelement in der „Control_First“-Spalte angegeben. Ändern Sie die „Control_First“-Spalte des Dialog1-Datensatzes in der Dialog-Tabelle in ein Steuerelement, das in Dialog1 vorhanden ist.

Nicht für jede Zeile in der Dialog-Tabelle ist ein Steuerelement in der „Control_First“-Spalte angegeben, das im Dialogfeld vorhanden ist. Ändern Sie die „Control_First“-Spalte von Dialog2 in ein Steuerelement, das in Dialog2 vorhanden ist.

Das Durchlaufen der „Control_Next“-Einträge vom Steuerelement zu Steuerelement in der Control-Tabelle ergibt nicht in jedem Fall eine geschlossene Schleife. Ändern Sie die „Control_Next“-Spalte für ControlB in Dialog3 in ControlA.

Das Durchlaufen der „Control_Next“-Einträge vom Steuerelement zu Steuerelement in der Control-Tabelle kommt nicht in jedem Fall wieder beim anfänglichen Steuerelement an. Ändern Sie die „Control_Next“-Spalte für ControlC in Dialog4 so, dass es auf ControlA verweist.

Beim Durchlaufen der „Control_Next“-Einträge vom Steuerelement zu Steuerelement in der Control-Tabelle wird nicht jedes Steuerelement im Dialogfeld durchlaufen, das einen Eintrag in der „Control_Next“-Spalte besitzt. Ändern Sie die „Control_Next“-Spalte für ControlC in Dialog5 in ControlD.

„Control_Next“ verweist nicht auf ein gültiges Steuerelement, das sich im selben Dialogfeld wie das in der Control-Spalte aufgeführte Steuerelement befindet. Ändern Sie die „Control_Next“-Spalte für ControlC in Dialog6 so, dass es auf ControlD verweist.

ICE-Referenz