Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: CL | DM;

Вниз

выполнение winExec   Найти похожие ветки 

 
stock   (2006-06-29 07:40) [0]

Здравствуйте !
Выполняю WinExec как

Result := (WinExec(PChar(firstStepImport), SW_HIDE) >= 32);
//firstStepImport is type string

Далее выполняются другие действия. Создаётся ощущение, что указанная строка выполняется асихронно. Если установить после неё точку останова, всё отрабатывается как ожидается. Удаляю точку останова - ошибка. Следующие шаги работают с данными, используемыми в этой строке. Может ли иметь место асинхронность ?


 
Desdechado ©   (2006-06-29 10:40) [1]

Винда - система событийная. Здесь у нее происходит событие запуска программы. Когда она стартует и отработает, зависит от многих факторов: от мощи компа, от загруженности винды в настоящий момент и т.п.
И в примечании к WinExec в справке:
In Win32, the WinExec function returns when the started process calls the GetMessage function or a time-out limit is reached. To avoid waiting for the time out delay, call the GetMessage function as soon as possible in any process started by a call to WinExec.


 
stock   (2006-06-29 11:06) [2]

Спасибо. А как использовать GetMessage для определения завершения процесса hWnd := WinExec(...) ?


 
Desdechado ©   (2006-06-29 11:16) [3]

Вообще-то про GetMessage написано другое. Написано, что должен вызывать запускаемый процесс, а не запускающая его программа.

> для определения завершения процесса
Так тебе нужно дождаться завершения? Это ж совсем другая задача.
WaitForSingleObject


 
stock   (2006-06-29 11:27) [4]

Спасибо, Desdechado.



Страницы: 1 вся ветка

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
1-1149058146
sergstud
2006-05-31 10:49
2006.07.16
Изменение алгоритма расчета


10-1121163665
Piter
2005-07-12 14:21
2006.07.16
Как добраться до JS переменной в HTML из Delphi


6-1134736695
SPACE!!
2005-12-16 15:38
2006.07.16
Клт.-Серв. приложение на WinSock с большим количеством клиентов.


2-1151698113
Adil
2006-07-01 00:08
2006.07.16
Открыть ParamStr(1) и не загрузить программу заново.


2-1151566950
KaLLeKa
2006-06-29 11:42
2006.07.16
Как разместить компонент внутри другого компонента?