Megosztás a következőn keresztül:


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

 

FeatureComponents table

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ó)

IniFile

RemoveIniFile

beállításjegyzék-

RemoveRegistry

ServiceControl

ServiceInstall

billentyűparancsok

ige

bővítmény

osztály

AppId

környezeti

ICE-referencia