FormCalc Değerleri ve Referansları

EnableJavaScript ile genel FormCalc yürütmesi, Ref(value) üzerinden açık nesne referanslarını uygular; sıradan değişken bildirimleri ve sıradan fonksiyon argümanları ise nesne değerlerini kopyalar

Ref parametreleri ve sonuç

Mevcut bir form nesnesine erişimci, nesne tanıtıcısı olur; mevcut bir tanıtıcı geçirmek kimliğini korur, null bir argüman null tanıtıcı üretir ve diğer scalar argümanlar scalar değerlerini döndürür

Referanslar, rawValue, parent, name, resolveNode ve resolveNodes gibi sıradan node property'lerini ve yöntemlerini sağlar

Scalar gömülü argümanlar tanıtıcıları referans çözer, toplam fonksiyonlar referans verilen değerleri tüketir ve null tanıtıcılar null aritmetiğini ve string semantiğini korur; Exists, null tanıtıcı için 0 döndürür

var copied = target
target = 8
other = copied

var p = Ref(target)
p = 9
var q = p
q = 10

İlk blok, target'ın önceki değerini copied'da korur; ikinci blok, target'a aynı nesneye referans veren iki tanıtıcı üzerinden yazar

Atama ve ayırma

AtamaDavranış
p = Ref(other)p'yi diğer nesneye yeniden bağlar
p bir referansken p = 5Referans verilen nesneye 5 yazar ve tanıtıcıyı korur
p bir referansken p = Null()Referans verilen nesne değerini temizler ve tanıtıcıyı korur
p = Ref(Null())p'yi ayırır ve değişkene null değer verir
ayırmadan sonra p = 5Değişkenin kendisini 5 yapar

Değişken yeniden bildirimleri ve kullanıcı fonksiyonu argümanları aynı kopya veya referans kurallarını uygular; fonksiyonlar, açık referansları alabilir, döndürebilir ve niteleyebilir

Eşitlik ve kimlik

Eşitlik ve eşitsizlik, her iki operand da referansken kararlı nesne kimliğini karşılaştırır; sıradan nesne operand'ları değerlerini karşılaştırır ve sonuç sayısal 1 veya 0'dır

Aynı metni içeren iki alan değere göre eşit karşılaştırılır; ancak Ref(first) eq Ref(second), farklı alanlar olduklarında 0 döndürür

Tekrarlanan instance'lar ve saklanan tanıtıcılar

Bir script nesnesi, olaylar boyunca açık bir tanıtıcıyı saklayabilir; tanıtıcı, güncel form node'unu kararlı kimlikle çözer; böylece tekrarlanan bir subform'u yeniden sıralamak seçili occurrence'ı korur

Tanıtıcıyı, occurrence'ı kaldırıldıktan sonra kullanmak hata fırlatır; runtime transaction'ları, o hata olayı durdurduğunda occurrence sayısını, alan değerlerini ve script-nesnesi durumunu geri yükler

Runtime, kararlı template ve data kimliklerini otomatik sağlar; TXFAEventBinding.Identity'yi atlayan doğrudan olay çağıranları benzersiz bir bağlama-indeks kimliği alır ve bağlama sırası değiştiğinde açık kararlı kimlikler sağlamalıdır

Göç

Önceki genel yürütme, değişken bildirimlerinde sıradan node nesnelerini saklardı; p bir node tanıtıcısı olarak kalmalıysa var p=target'i var p=Ref(target) ile değiştirin

Genel FormCalc eşitlik sonuçları, JavaScript Boolean metni yerine artık 1 ve 0 kullanır; eşitlik sonuçlarını birleştiren kod sayısal gösterimi beklemelidir

İlgili API'ler

Dinamik Eval, HPDFXFACompileFormCalcEvent, TXFAEventBinding ve Interactive XFA Runtime