ICE69
Az ICE69 ellenőrzi, hogy az űrlap [$componentkey] összes alsztringje egy formázott sztringben nem tartalmaz-e kereszthivatkozási összetevőket. Az összetevők közötti hivatkozás akkor fordul elő, ha egy formázott sztring [$componentkey] tulajdonsága nem a táblák Component_ oszlopában tárolt összetevőre hivatkozik.
Az összetevők közötti hivatkozásokkal kapcsolatos problémák a formázott sztringek kiértékelésének módjából erednek. Ha a(z) [$componentkey] tulajdonsággal hivatkozott összetevő már telepítve van, és az aktuális telepítés során nem változik (például újratelepítik, áthelyezik a forrásra stb.), a(z) [$componentkey] kifejezés null értékű lesz, mert az összetevő műveletállapota a ($componentkey] fájlban null. Hasonló problémák léphetnek fel a frissítési és javítási műveletek során.
Eredmény
Az ICE69 hibát ad vissza, ha egy [$componentkey] részstring egy formázott sztring kereszthivatkozást ad egy másik funkció egyik összetevőjére. Az ICE69 figyelmeztetést ad vissza, ha egy formázott sztringen belül egy [$componentkey] részszúrás kereszthivatkozást ad egy összetevőre ugyanabban a funkcióban. (A FeatureComponents tábla határozza meg ezt a leképezést. A figyelmeztetéshez ugyanahhoz a funkcióhoz kell megfeleltetnie. A szülőfunkciókban lévő hivatkozási összetevők vagy a gyermekfunkciók hivatkozási összetevői hibának minősülnek.)
Az ICE69 hibát jelez, ha egy formázott sztringben lévő [#FileKey] részsztring olyan fájlra hivatkozik, amely nincs megadva a Fájl táblában, és ugyanahhoz az összetevőhöz tartozik.
Példa
Az ICE69 a következőket jelenti a bemutatott példákhoz.
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."
A hiba kijavításához ne hivatkozzon kereszthivatkozásokra. Módosítsa a [$componentkey] elemet a parancsikon összetevőjének megfelelőre.
billentyűparancstábla (részleges)
Parancsikon | Komponens_ | Vita |
---|---|---|
Teszt | Gyorsteszt | -v [$Test] |
Billentyűparancs2 | Gyorsteszt | [$Test 2] |
A Verb és Bővítmény táblák speciális esetek, amikor az Ig tábla egy összetevőhöz tartozó bővítményre hivatkozik. A bővítmények azonban több összetevőhöz is tartozhatnak, mivel a bővítménytábla elsődleges kulcsa a Bővítmény és Component_ oszlopokból áll. Logikailag a következő helyzet áll fenn.
verb Table (részleges)
Kiterjesztés | Ige_ | Vita |
---|---|---|
Tst | nyitott | -v [$comp 1][$comp 2] |
bővítménytábla (részleges)
Kiterjesztés | Komponens_ |
---|---|
Tst | comp1 |
Tst | comp2 |
Vonás_ | Komponens_ |
---|---|
1. funkció | Gyorsteszt |
1. funkció | Teszt |
2. funkció | 2. teszt |
Ebben az esetben győződjön meg arról, hogy az [$componentkey] tulajdonságok közül legalább egy nem null értékű lesz. A fenti példában a Verb tábla Argumentum oszlopában ([$comp 1] és [$comp 2] szereplő [$componentkey] tulajdonságnak azonban hivatkoznia kell az igéhez társított bővítmény egyik lehetséges összetevőjére. Az olyan hivatkozások, mint a [$comp 3] az ICE69 figyelmeztetését eredményezik.
Az AppId tábla hasonló helyzetben van, mint az igetáblában. A Osztálytábla használja az összetevő-referenciaként. Ebben az esetben az AppId tábla ugyanúgy lesz érvényesítve, mint a Verb-Extension érvényesítése (most AppId-Class).
Az Osztálytábla Argumentum oszlopa a Billentyűparancs, Beállításjegyzékés hasonló táblákhoz hasonlóan van érvényesítve.
A végrehajtás során használt tábla (csak akkor, ha megtalálható)
Kapcsolódó témakörök