Вверх ↑
Ответов: 31
Рейтинг: 0
#1: 2017-12-13 09:20:12 ЛС | профиль | цитата
Buns писал(а):
kichrot,
F1 Справка
...
примеры есть.


Ни в справке, ни в примерах, ни сном, ни духом не говорится, о том, что событие onExec, в режиме Wait элемента WinExec, наступает после закрытия внешнего процесса, а не так как говорится в справке:
onExec - Событие происходит в случае успешного запуска программы методом doExec

Кроме того, в исходниках элемента процедура:

procedure THIWinExec._work_doExec;
var Fn, Cmd, WD: string;
begin
Fn := ReadString(_Data,_data_FileName,_prop_FileName);
Cmd := ReadString(_Data,_data_Params,_prop_Param);
WD := ReadString(_Data,_data_WorkingDir,_prop_WorkingDir);

if RunProcess(Fn, Cmd, WD, Boolean(_prop_RunEvent)) then
_hi_CreateEvent(_Data, @_event_onExec);
end;

прямо указывает на то, что onExec должно наступать сразу после успешного запуска процесса, при любых значениях RunEvent, т.е. и при Wait. но этого не происходит.

Кроме, как багом, поведение элемента WinExec в режиме Wait, не назовешь.
карма: 0

0
Редактировалось 3 раз(а), последний 2017-12-13 09:31:37