pMe | (Object) Reference na PmaRoot objekt, ve kterém daná událost vzniká. |
---|---|
pEvent | (Object) Reference na objekt, který popisuje informace o dané události. pEvent.Type - (String) Typ zastavení aplikace. "Stop" - Normální zastavení aplikace vyvolané metodou Pm.AppStop(0) nebo zavřením hlavního okna aplikace. Toto normální zastavení aplikace se ještě dá potlačit potvrzovacím dialogem nebo v události PmaRoot.onAppStopBegin. "HardStop" - Zastavení aplikace vyvolané metodou Pm.AppStop(1) nebo selháním vnitřní komponenty nebo licence. Toto zastavení aplikace se už nedá potlačit potvrzovacím dialogem nebo v události PmaRoot.onAppStopBegin. "Logoff" - Odhlášení uživatele přihlášeného do OS Windows, viz Pm.ShutDown(0, false) Zastavované aplikace jsou dotazovány, zda ukončit jejich činnost. "HardLogoff" - Odhlášení uživatele přihlášeného do OS Windows, viz Pm.ShutDown(0, true) Zastavované aplikace budou ukončeny násilně bez dotazu (může dojít ke ztrátě dat). "Reboot" - Restart (reboot) počítače s OS Windows, viz Pm.ShutDown(1, false) Zastavované aplikace jsou dotazovány, zda ukončit jejich činnost. "HardReboot" - Restart (reboot) počítače s OS Windows, viz Pm.ShutDown(1, true) Zastavované aplikace budou ukončeny násilně bez dotazu (může dojít ke ztrátě dat). "Shutdown" - Vypnutí počítače s OS Windows, viz Pm.ShutDown(2, false) Zastavované aplikace jsou dotazovány, zda ukončit jejich činnost. "HardShutdown" - Vypnutí počítače s OS Windows, viz Pm.ShutDown(2, true) Zastavované aplikace budou ukončeny násilně bez dotazu (může dojít ke ztrátě dat). pEvent.Error - (Long) Pokud hodnota parametru je 0, pak je aplikace ukončována pokynem uživatele (projektanta) - tzn. voláním metody Pm.AppStop nebo Pm.AppQuit. V jiném případě (hodnota je nenula) je aplikace ukončena z důvodu selhání některé komponenty (např. ActiveX objektu, atd.). pEvent.Enabled - (Boolean) Povolení/zákaz normálního zastavení aplikace. Hodnota tohoto parametru je přednastavena na true. Pokud hodnota vlastnosti je true, pak je povoleno normální zastavení aplikace. Pokud hodnota vlastnosti je false, pak není povoleno normální zastavení aplikace. Tímto způsobem lze například povolit/zakázat normální zastavení aplikace na základě nějaké podmínky nebo provést zpožděné zastavení aplikace apod. |
function onTimeOut()
{
Pm.AppStop(1); //will by called "onAppStopBegin" with pEvent.Type == "HardStop"
}
if (pEvent.Type == "Stop")
{
pEvent.Enabled = false;
pMe.Root.AddEventTimer(5000, 1, onTimeOut);
pMe.Methods.SaveConfigApp(); //user method
}
var nSecStop = 15; //number of seconds until the application stops
var oPmfTimeout;
function onTimeOut()
{
if (nSecStop <= 0)
Pm.AppStop(1); //will by called "onAppStopBegin" with pEvent.Type == "HardStop"
oPmfTimeout.Value = "Application stops in " + nSecStop + " seconds";
nSecStop--;
}
function onViewClose(ev)
{
if (ev.CloseReason == "ok")
nSecStop = 0;
else
pMe.Root.RemoveEventTimer(onTimeOut, 0);
}
function onViewLoad(ev)
{
var oForm = ev.Form;
oForm.Title = "Application stop";
oForm.CreateItem("separ", "separ", "", "Subtype:space;TitlePos:no;BodyHeightIni:1;");
oPmfTimeout = oForm.CreateItem("string", "msg", "", "Subtype:static;TitlePos:no;Multiline:1;ValueHorzAlign:center;");
oPmfTimeout.Value = "Application stops in " + nSecStop + " seconds";
}
if (pEvent.Type == "Stop")
{
pEvent.Enabled = false;
pMe.Root.AddEventTimer(1000, -1, onTimeOut);
var oCreator = Pm.CreateView(pMe.PmPanel, "/#glob/form", "", "target:_blank;modal:1;");
oCreator.View.onLoad = onViewLoad;
oCreator.View.onClose = onViewClose;
oCreator.Open();
pMe.Methods.SaveConfigApp(); //user method
}