umožňuje ve skriptu ovlivňovat způsob použití tohoto skriptu v systému PROMOTIC a také případně modifikovat vlastní obsah skriptu.
dochází ve chvíli překladu tohoto skriptu a tím se liší od volání metod při spuštění skriptu. V případě Web aplikace se skripty obrazu sice spouští na klientu, ale zpracování direktivy
ze skriptu odstraní. Na místo bývalé direktivy
je vždy zapsána v poznámce skriptu, tzn. v
#pragma variable
Slouží k modifikaci vlastního skriptu, to znamená, že do skriptu je vložen kód nový, jako výsledek vyhodnocení příslušné direktivy
#pragma.
Tato direktiva skriptu vloží do skriptu kód se založením lokální proměnné ve skriptu s příslušným názvem (příkazem
var pro
JavaScript nebo
Dim pro
VBScript) a dále kód pro inicializaci proměnné na určitou požadovanou hodnotu (hodnotou může být i reference na objekt).
Vložený kód, vzniklý vyhodnocením jedné a téže direktivy
#pragma v tomtéž skriptu se může lišit například podle toho, zda je skript v lokálním nebo ve
Web obrazu, atd.
Tento typ direktivy
#pragma jednak zpřehledňuje skripty, umožňuje systémově podchytit odkazy na objekty a také umožňuje podchytit některé rozdílnosti mezi lokálním a
Web obrazem.
#pragma variable x = Macro("makro výraz"):
Umožňuje vyhodnotit makro výraz. Ve skriptu založí lokální proměnnou a nastaví její počáteční hodnotu na hodnotu výsledku vyhodnocení makro výrazu. Slouží zejména pro načtení lokalizovaného textu (
Makro výraz $.text). V případě Webu dochází k vyhodnocení výrazu již na serveru, takže vyhodnocení direktivy
#pragma má přístup k datům a souborům serveru.
Například
'#pragma variable sComment = Macro("$.text('sys','comment')")
Jinou možností jak získat lokalizovaný text je pomocí
Makro výraz $.text nebo
EvalMacro.
#pragma variable x = PmaObjectRef("cesta"):
Umožňuje získat
referenci na Pma objekt ve stromu
Pma objektů nebo jeho implementační podobjekt. Ve skriptu založí lokální proměnnou a nastaví její počáteční hodnotu na odkaz na požadovaný objekt.
Reference na objekt získaný tímto způsobem je výhodný, protože odkaz je známý již ve vývojovém prostředí
PROMOTIC, to znamená, že systém PROMOTIC o tomto odkazu ví a je znám typ odkazovaného objektu, což jednou umožní v editoru skriptu inteligentní nápovědu se seznamem metod a vlastností objektu, atd.
Pro získání objektu na dynamické (dopředu neznámé) cestě slouží metoda
PmaObject.Pm.
Například
'#pragma variable oTemperature1 = PmaObjectRef("/Block1/Data/#vars/Temperature1")
Například
'#pragma variable oTemperature1 = PmaObjectRef("../Data/#vars/Temperature1")
#pragma variable x = PmgObjectRef("cesta"):
Umožňuje získat
odkaz na Pmg objekt nebo jeho implementační podobjekt v obrazu. Ve skriptu založí lokální proměnnou a nastaví její počáteční hodnotu na odkaz na požadovaný
Pmg objekt nebo jeho implementační podobjekt Tato direktiva skriptu je funkční pouze ve skriptech v obrazech (události
Pmg objektů).
Reference na objekt získaný tímto způsobem je výhodný, protože odkaz je známý již ve vývojovém prostředí
PROMOTIC, to znamená, že systém PROMOTIC o tomto odkazu ví a je znám typ odkazovaného objektu, což jednou umožní v editoru skriptu inteligentní nápovědu se seznamem metod a vlastností objektu, atd.
Pro získání
Pmg objektu na dynamické (dopředu neznámé) cestě slouží metoda
PmgObject.Items.
Například
'#pragma variable oEdit0 = PmgObjectRef("../edit0")
Například
'#pragma variable oTeplota1 = PmgObjectRef("../edit0/#vars/Teplota1")
#pragma option
Slouží k ovlivnění způsobu, jakým systém PROMOTIC skript použije, to znamená, že nastaví některé parametry systému PROMOTIC. Nedochází k modifikaci obsahu skriptu (s výjímkou odstranění vlastní direktivy
#pragma).
#pragma option OldGlobalMethodCall:
Umožňuje zapnout starý způsob volání globálních metod, kdy se globální metody volaly ve skriptu přímo jejím názvem (stejně jako funkce jazyka
VBScript). Tento způsob však nebyl kompatabilní s Web aplikacemi. Nově je potřeba globální metody aplikace volat pomocí
Pm.Methods. Tato direktiva skriptu má smysl pouze pro globální metody aplikace. Pokud není nastaveno (nebo pokud se použije hodnota
0), pak se použije nový způsob volání globálních metod.
Syntaxe: '#pragma option OldGlobalMethodCall = 0/1
kde 0 (přednastaveno) je nový způsob a 1 je starý způsob.
Například
'#pragma option OldGlobalMethodCall = 1
Příklad volání globální metody
Test se dvěma parametry ve skriptu
starým způsobem přímo:
v = Test(5, 8)
Příklad volání globální metody
Test se dvěma parametry ve skriptu
novým způsobem nepřímo:
v = Pm.Methods.Test(5, 8)