Promotic
WikipediaLinkedInYoutubeTwitterFacebook

CallAxMethod - metoda objektu Pm

Popis:
Umožňuje volat metody ActiveX objektu z JavaScript (vstupně/výstupní parametry, VBArray, atd.). ActiveX používá VBScript datové typy a konvence, přizpůsobení JavaScript zajišťuje tato metoda..
Syntaxe:
CallAxMethod(sReserved, oAxObject, sAxMethod, arglist)
Volání:
var r = Pm.CallAxMethod("", oAxObject, sAxMethod, arglist)
Parametry:
sReserved(String) Rezervováno. Musí zde být prázdný řetězec ("").
oAxObject(Object) Odkaz na ActiveX objekt.
sAxMethod(String) Jméno volané metody.
arglist(Variant) Následuje proměnlivý počet parametrů, které budou předány volané metodě v ActiveX objektu. Parametry se předávají jako vstupní parametry hodnotou. Pokud je mezi parametry PmArray, pak bude toto pole automaticky konvertováno na VBArray.
Vrácená hodnota:
Hodnota, kterou vrátila volaná ActiveX metoda. Pokud ActiveX vrátila VBArray, pak bude toto pole automaticky konvertováno na PmArray.
Poznámka:
VBScript a ActiveX podporují vstupně/výstupní parametry, zatímco JavaScript výstupní parametry nepodporuje. Metoda CallAxMethod však umožní předání vstupně/výstupního parametru ActiveX metodě pomocí pomocného objektu PmMap následujícím způsobem:
1) Vytvoření pomocného objektu PmMap.
2) Nastavení vlastnosti ParValue v pomocném objektu na počáteční hodnotu vstupního parametru (body 1 a 2 lze provést v jediném kroku metodou PmMap.mapAdd).
3) Předání odkazu na pomocný objekt namísto původního parametru ve volání metody CallAxMethod.
4) Vyčtení hodnoty výstupního parametru opět z vlastnosti ParValue.

Upozornění! Pokud je vstupním parametrem PmArray, pak bude toto pole automaticky konvertováno na VBArray. Pokud je výstupním parametrem VBArray, pak bude toto pole automaticky konvertováno na PmArray.

Příklad:
Příklad volání metody DBGetInfo ActiveX objektu AtouchX pro komunikaci s PLC AMiT, kde požadovaná vstupně/výstupní hodnota (mInfo) je typu VBArray.
JavaScriptVyber a zkopíruj do schránky

var oApp = pMe.Pm("../AtouchApp").Acx;
var mInfo = Pm.CreatePmMap();
mInfo.ParValue = Pm.CreatePmArray().Create(5);
var nState = Pm.CallAxMethod("", oApp, "DBGetInfo", nWID, mInfo);
Pm.Debug("return INFO : " + mInfo.ParValue);

Historie:
Pm9.00.02: Vytvořeno
Navigace:
 
- Pm
 
- Abs
- CallAxMethod
 
 
- Cos
- E
- Exp
- LN2
- PI
- Pow
- Sin
- Tan
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice