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.
Rubriques connexes