Aracılığıyla paylaş


ICE69

ICE69, [$componentkey] formunun biçimlendirilmiş dizedeki tüm alt dizelerinin bileşenlere çapraz başvuruda bulunamadısını denetler. Biçimlendirilmiş bir dizenin [$componentkey] özelliği tablolarınızın Component_ sütununda depolanan bileşen dışında bir bileşene başvurduğunda bileşenler arası başvuru oluşur.

Bileşenler arası başvuruyla ilgili sorunlar, biçimlendirilmiş dizelerinin değerlendirilme biçiminden kaynaklanmıştır. [$componentkey] özelliğiyle başvuruda bulunılan bileşen zaten yüklüyse ve geçerli yükleme sırasında değiştirilmiyorsa (örneğin, yeniden yükleniyor, kaynağa taşınıyor vb.), [$componentkey] içindeki bileşenin eylem durumu null olduğundan [$componentkey] ifadesi null olarak değerlendirilir. Yükseltme ve onarım işlemleri sırasında benzer sorunlar oluşabilir.

Sonuç

ICE69, biçimlendirilmiş bir dizesi içindeki bir [$componentkey] alt dize başka bir özellikteki bir bileşene çapraz başvuruda bulunursa hata döndürür. ICE69, biçimlendirilmiş bir dize içindeki [$componentkey] alt dize aynı özellikteki bir bileşene çapraz başvuruda bulunursa bir uyarı döndürür. (Bu eşlemeyi belirlemek için FeatureComponents tablosu kullanılır. Uyarı için aynı özelliğe eşlenmelidir. Üst özelliklerdeki bileşenlere başvurmak veya alt özelliklerdeki bileşenlere başvurmak hata olarak kabul edilir.)

ICE69, biçimli dizesindeki [#FileKey] alt dizesi, Dosya tablosunda aynı bileşene ait olarak belirtilmeyen bir dosyaya başvuruda bulunursa bir hata bildirir.

Örnek

ICE69, gösterilen örnekler için aşağıdakileri raporlar.

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."

Bu hatayı düzeltmek için bileşenlere çapraz başvuruda kullanmayın. [$componentkey] öğesini kısayolun bileşeniyle eşleşecek şekilde değiştirin.

Kısayol Tablosu (kısmi)

Kısayol Parça_ Tartışma
Test QuickTest -v [$Test]
Kısayol2 QuickTest [$Test 2]

 

Fiil ve Uzantısı tabloları, Fiil tablosunun bir bileşene ait bir uzantıya başvurması için özel durumlardır. Ancak uzantı tablosunun birincil anahtarı Uzantı ve Component_ sütunlarından oluştuğundan Uzantı birden çok bileşene ait olabilir. Mantıksal olarak aşağıdaki duruma sahip olabilirsiniz.

Fiil Tablosu (kısmi)

Uzantı Fiil_ Tartışma
Tst açık -v [$comp 1][$comp 2]

 

Uzantı Tablosu (kısmi)

Uzantı Parça_
Tst comp1
Tst comp2

 

FeatureComponents Tablosu

Özellik_ Parça_
Özellik1 QuickTest
Özellik1 Test
Özellik2 Test2

 

Bu durumda, [$componentkey] özelliklerinden en az birinin null olmayan bir değere değerlendirdiğinden emin olmanız gerekir. Ancak, yukarıdaki örnekte fiil tablosunun Bağımsız Değişken sütunundaki ([$comp 1] ve [$comp 2] her [$componentkey] özelliği, fiil ile ilişkilendirilmiş uzantıyla birlikte gelen olası bir bileşene başvurmalıdır. [$comp 3] gibi bir başvuru ICE69'dan bir uyarıyla sonuçlanır.

AppId tablosu Fiil tablosuna benzer bir duruma sahiptir. Bileşen başvurusu için Sınıf tablosu kullanır. Bu durumda AppId tablosu, Verb-Extension doğrulamasıyla aynı şekilde doğrulanır (şimdi AppId-Class).

Sınıf tablosunun Bağımsız Değişken sütunu, Kısayolu, Kayıt Defterive benzer tablolar gibi doğrulanır.

Yürütme sırasında kullanılan tablo (yalnızca bulunursa)

IniFile

RemoveIniFile

Kayıt Defteri

RemoveRegistry

ServiceControl

ServiceInstall

kısayol

Fiil

Uzantısı

Sınıfı

appid

Ortam

ice başvuru