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 vyvolané metodou Pm.AppStop(1) nebo selháním vnitřní komponenty nebo licence. Toto zastavení aplikace se už nedá 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 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 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, -1, "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
}