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

Вниз

Непонятки с WaitForSingleObject   Найти похожие ветки 

 
LOMic ©   (2003-09-22 11:45) [0]

Добрый день, мастера.
У меня под Win2000 тормозит код(вернее WaitForSingleObject долго работает). Под Win 95,98,Me,XP все OK. В чем проблема ?
Код:
APCmdString:= "Subst.exe <список параметров>";
ExitCode:= DWORD(-1);
ZeroMemory( @piProcInfo, sizeof(PROCESS_INFORMATION) );
ZeroMemory( @siStartInfo, sizeof(STARTUPINFO) );
siStartInfo.cb:= sizeof(STARTUPINFO);
Success:= CreateProcess(nil,
PChar (APCmdString),
nil,
nil,
FALSE,
CREATE_NO_WINDOW,
nil,
nil,
siStartInfo,
piProcInfo);
if Success then begin
HProcess:= piProcInfo.hProcess;
CloseHandle(piProcInfo.hThread);
if(WaitForSingleObject(HProcess, INFINITE) = AIT_OBJECT_0)
then begin
GetExitCodeProcess(HProcess, ExitCode);
CloseHandle(HProcess);
result:= TRUE;
exit;
end;
end;


 
Verg ©   (2003-09-22 12:06) [1]


> вернее WaitForSingleObject долго работает


О как?

Но он же ждет завершения "Subst.exe <список параметров>", что ж ему делать то еще?


 
LOMic ©   (2003-09-22 12:21) [2]

По факту Subst.exe <список параметров> уже отработала а WaitForSingleObject ждет еще секунд 10-15(под Win2000).
А под Win 95,98,Me,XP все OK...


 
Verg ©   (2003-09-22 12:28) [3]


> По факту Subst.exe <список параметров> уже отработала а
>


Факт - это ....?


 
Verg ©   (2003-09-22 12:31) [4]


> А под Win 95,98,Me, XP все OK...


http://delphimaster.net/view/4-1062738445/


 
LOMic ©   (2003-09-22 14:38) [5]

Факт - это появился или был удален виртуальный диск.
Можно увидеть диск например в Total Commander (т.е. subst уже отработал), а WaitForSingleObject ждет еще секунд 10-15(win2000). В Win 95,98,Me,XP у меня этого ожидания не наблюдается. Вотъ.


 
Verg ©   (2003-09-22 15:12) [6]

WaitForSingleObject понятия не имеет о каких-либо виртуальных дисках. Он ждет, когда система (ядро) переведет заданный объект ядра в "Сигнальное состояние" (ждет, надо сказать, добросовестно :)). И все, и ничего более.

Так что, не надо на него грешить, ищите в другом месте.


 
LOMic ©   (2003-09-22 15:53) [7]


> WaitForSingleObject понятия не имеет о каких-либо виртуальных
> дисках. Он ждет, когда система (ядро) переведет заданный
> объект ядра в "Сигнальное состояние" (ждет, надо сказать,
> добросовестно :)). И все, и ничего более


Это понятно. Я не говорю что WaitForSingleObject криво работает.
Может я процесс для Win2000 криво создаю. Может какие флаги надо установить, может что-нить еще?



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
1-56635
Jee
2003-11-05 14:21
2003.11.17
Редактор свойств


7-56940
ТЕХНАРь
2003-09-09 12:35
2003.11.17
Как получить изображение с монитора


1-56673
512 ram
2003-11-05 08:09
2003.11.17
Можно ли с помощью средств Delphi запустить файл


1-56586
Дельфин
2003-11-06 05:53
2003.11.17
Создание собственных компонентов в DELPHI 6


14-56846
Holy
2003-10-26 19:46
2003.11.17
Выходные прошли - готовимся к следующим...