ICE69
ICE69 vérifie que toutes les sous-chaînes du formulaire [$componentkey] dans une chaîne mise en forme ne font pas référence à des composants croisés. Une référence inter-composants se produit lorsque la propriété [$componentkey] d’une chaîne mise en forme fait référence à un composant autre que le composant stocké dans la colonne Component_ de vos tables.
Les problèmes de référencement entre composants proviennent de la façon dont les chaînes mises en forme sont évaluées. Si le composant référencé avec la propriété [$componentkey] est déjà installé et n’est pas modifié pendant l’installation actuelle (par exemple, réinstallé, déplacé vers la source, etc.), l’expression [$componentkey] prend la valeur Null, car l’état d’action du composant dans [$componentkey] est null. Des problèmes similaires peuvent se produire pendant les opérations de mise à niveau et de réparation.
Résultat
ICE69 retourne une erreur si une sous-chaîne [$componentkey] au sein d’une mise en forme chaîne fait référence à un composant dans une autre fonctionnalité. ICE69 retourne un avertissement si une sous-chaîne [$componentkey] dans une chaîne mise en forme fait référence à un composant dans la même fonctionnalité. (La table FeatureComponents est utilisée pour déterminer ce mappage. Il doit être mappé à la même fonctionnalité pour l’avertissement. Le référencement des composants dans les fonctionnalités parentes ou le référencement de composants dans les fonctionnalités enfants est considéré comme une erreur.)
ICE69 signale une erreur si la sous-chaîne [#FileKey] dans une chaîne mise en forme fait référence à un fichier qui n’est pas spécifié dans la table File comme appartenant au même composant.
Exemple
ICE69 signale ce qui suit pour les exemples présentés.
WARNING: "Mismatched component reference. Entry 'Test' of the Shortcut table belongs to component 'QuickTest'. However, the formatted string in column 'Argument' references component 'Test'. Components are in the same feature."
ERROR: "Mismatched component reference. Entry 'Shortcut2' of the Shortcut table belongs to component 'QuickTest'. However, the formatted string in column 'Argument' references component 'Test2'. Components are not in the same feature."
Pour corriger cette erreur, n’effectuez pas de référence croisée des composants. Modifiez le [$componentkey] pour qu’il corresponde au composant du raccourci.
table de raccourcis (partielle)
Raccourci | Composant_ | Argument |
---|---|---|
Test | QuickTest | -v [$Test] |
Raccourci2 | QuickTest | [$Test 2] |
Les tables verbe et extension sont des cas spéciaux dans montrant que la table Verb fait référence à une extension qui appartient à un composant. Toutefois, une extension peut appartenir à plusieurs composants, car la clé primaire de la table d’extension est constituée de l’extension et de Component_ colonnes. Vous pouvez avoir logiquement la situation suivante.
table détaillée (partielle)
Extension | Verbe_ | Argument |
---|---|---|
Tst | ouvrir | -v [$comp 1][$comp 2] |
table d’extension (partielle)
Extension | Composant_ |
---|---|
Tst | comp1 |
Tst | comp2 |
Caractéristique_ | Composant_ |
---|---|
Feature1 | QuickTest |
Feature1 | Test |
Feature2 | Test2 |
Dans ce cas, vous devez vous assurer qu’au moins une des propriétés [$componentkey] est évaluée à une valeur non null. Toutefois, chaque propriété [$componentkey] dans la colonne Argument de la table Verb ([$comp 1] et [$comp 2] dans l’exemple ci-dessus) doit référencer un composant possible inclus dans l’extension associée au verbe. Une référence comme [$comp 3] entraînerait un avertissement de ICE69.
La table AppId a une situation similaire à celle de la table Verb. Elle utilise la table Classe pour sa référence de composant. Dans ce cas, la table AppId est validée de la même façon que la validation Verb-Extension (maintenant AppId-Class).
La colonne Argument de la table Class est validée comme les raccourcis, Registreet les tables similaires.
Table utilisée pendant l’exécution (uniquement si elle est trouvée)
Rubriques connexes