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) [pro čtení] 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 oknem nebo v události PmaRoot.onAppStopBegin.
"HardStop" - Zastavení aplikace voláním metody Pm.AppStop(1) nebo selháním vnitřní komponenty nebo licence. Toto zastavení aplikace už nelze potlačit potvrzovacím oknem 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) [pro čtení] Pokud hodnota parametru je 0, pak aplikace je ukončována pokynem uživatele (projektanta) - tzn. voláním metody Pm.AppStop.
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) [pro čtení] 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 například lze povolit/zakázat normální zastavení aplikace na základě nějaké podmínky nebo provést zpožděné zastavení aplikace atd. |
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, pMe.GetPathName(), 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("StopOut", 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, 0, "StopOut", 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
}