Главная страница
    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.46 MB
Время: 0.009 c
7-56931
asJIura
2003-09-06 15:37
2003.11.17
Функция для получения серийного номера жесткого диска?


1-56750
goliath
2003-11-06 15:57
2003.11.17
Приведите пожалуйста пример использования TVirtualTreeView


1-56567
Dimmu
2003-11-06 12:47
2003.11.17
Как сделать CheckListBox с несколькими галочками.


14-56905
Igor_thief
2003-10-23 17:01
2003.11.17
TPanel


1-56573
Cosinus
2003-11-06 11:51
2003.11.17
Совместимость версий Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский