Partager via


ICE23

ICE23 valide l’ordre de tabulation du contrôle pour chaque boîte de dialogue.

ICE23 valide les éléments suivants dans les tables Dialog et Control :

  • Que chaque enregistrement de la table Dialog spécifie un contrôle dans la colonne Control_First qui existe dans la boîte de dialogue spécifiée par la colonne Boîte de dialogue.
  • Que chaque enregistrement de la table Control spécifie un contrôle dans la colonne Control_Next qui se trouve dans la même boîte de dialogue que le contrôle répertorié dans la colonne Contrôle, ou Control_Next contient la valeur Null.
  • Le fait qu’après les entrées Control_Next de contrôle à contrôle dans la table Control crée une boucle unique, fermée, qui revient au contrôle initial. Tous les contrôles n’ont pas besoin d’être dans la boucle, mais la boucle doit traverser chaque contrôle qui a une entrée dans la colonne Control_Next.

Résultats

ICE23 publie un message d’erreur si l’ordre de tabulation des contrôles ne forme pas une seule boucle fermée dans la boîte de dialogue.

Exemple

ICE23 publie les messages d’erreur suivants pour l’exemple affiché.

  • Dialog1 n’a pas de Control_First.
  • Control_First de boîte de dialogue Dialog2 fait référence au contrôle ControlX inexistant.
  • Dialog3 a l’ordre de tabulation des extrémités mortes au niveau du contrôle ControlB.
  • Dialog4 a un ordre de tabulation incorrect au niveau du contrôle ControlC
  • Dialog5 a un ordre de tabulation incorrect au niveau du contrôle ControlC.
  • Control_Next du contrôle Dialog6.ControlC est lié à un contrôle inconnu.

Table Dialog (partielle)

Boîte de dialogue Control_First
Dialog1  
Dialog2 ControlX
Dialog3 ControlA
Dialog4 ControlA
Dialog5 ControlA

 

Table Control (partielle)

Boîte de dialogue 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

 

Pour corriger ces erreurs, notez les points suivants dans les tables ci-dessus et apportez les modifications indiquées.

Toutes les lignes de la table Dialog n’ont pas de contrôle spécifié dans la colonne Control_First. Remplacez la colonne Control_First de l’enregistrement Dialog1 dans la table Dialog par un contrôle qui existe dans Dialog1.

Toutes les lignes de la table Dialog ne possèdent pas un contrôle spécifié dans la colonne Control_First qui existe dans la boîte de dialogue. Remplacez la colonne Control_First de Dialog2 par un contrôle qui existe dans Dialog2.

Le fait de suivre les entrées Control_Next de la table Control de contrôle à contrôle ne crée pas de boucle fermée dans tous les cas. Remplacez la colonne Control_Next pour ControlB dans Dialog3 par ControlA.

Le fait de suivre les entrées Control_Next dans la table Control du contrôle au contrôle ne renvoie pas au contrôle initial dans tous les cas. Modifiez la colonne Control_Next pour ControlC dans Dialog4 pour faire référence à ControlA.

Le suivi des entrées Control_Next dans la table Control du contrôle au contrôle ne passe pas par tous les contrôles de la boîte de dialogue ayant une entrée dans la colonne Control_Next. Remplacez la colonne Control_Next pour ControlC dans Dialog5 par ControlD.

Control_Next ne fait pas référence à un contrôle valide qui se trouve dans la même boîte de dialogue que le contrôle répertorié dans la colonne Control. Modifiez la colonne Control_Next pour ControlC dans Dialog6 pour faire référence à ControlD.

Référence ICE