Вверх ↑
Ответов: 2059
Рейтинг: 132
#1: 2017-12-14 01:05:06 ЛС | профиль | цитата
Netspirit писал(а):
Предполагаю, для решения будет достаточно добавить событие onError, которое будет происходить при ошибке запуска.

Я тут подумал, что можно добавить верхнюю точку, которую при RunEvent=Wait компонент может периодически опрашивать и при получении 1 - прекратить ожидание. Чтобы в моём примере выше ожидающий поток мог завершиться до закрытия программы.

Достаточно добавить событие onError с 1 при успехе и 0 при неудаче, или наоборот - не суть. Тогда получим тот-же onExec - "Событие происходит в случае успешного запуска программы, или неуспехе, методом doExec" и при RunEvent=Wait.
И до кучи добавить точку сброс ожидания "doResetWait".
Примерно так http://forum.hiasm.com/getfile/38265
Схема

Add(MainForm,16265734,84,105)
{
Position=1
}
Add(Button,1566307,301,224)
{
Left=20
Top=5
Width=120
Caption="Запустить и следить"
link(onClick,14589106:doStart,[])
}
Add(Button,1320274,336,238)
{
Left=145
Top=5
Width=100
Caption="Прекратить"
link(onClick,14589106:doStopFlag,[])
}
Add(Thread,14589106,413,224)
{
Point(doStopFlag)
link(onExec,11313095:doExec,[(492,230)(492,279)])
}
Add(Memo,9143625,406,105)
{
Left=20
Top=40
Width=325
Height=170
ScrollBars=2
}
Add(LineBreakEx,14378329,329,105)
{
Caption="log"
Type=1
link(OnEvent,9143625:doAdd,[])
}
Add(Synchronize,320100,616,224)
{
link(onSync,9126657:doData,[])
}
Add(LineBreakEx,6999316,721,224)
{
Caption="log"
}
Add(DoData,9126657,672,224)
{
Data=String(Завершилась - повторяем запуск)
link(onEventData,6999316:doWork,[])
}
Add(WinExecEx,11313095,511,273)
{
FileName="notepad.exe"
RunEvent=1
Point(doKillProcess)
Point(onCreateProcess)
link(onCreateProcess,7655747:doCompare,[])
}
Add(If_else,7655747,574,280)
{
Op2=Integer(0)
link(onTrue,320100:doSynchronize,[(639,286)(639,261)(604,261)(604,230)])
}
Add(Button,7734344,448,301)
{
Left=140
Top=225
Width=95
Caption="KillProcess"
link(onClick,11313095:doKillProcess,[(496,307)(496,293)])
}


карма: 6

0
Редактировалось 7 раз(а), последний 2017-12-14 12:51:18