Главная страница
    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.44 MB
Время: 0.008 c
2-1151312771
Kain-Lord
2006-06-26 13:06
2006.07.16
Как прокрутить Webbrowser вниз


2-1151495331
mfender
2006-06-28 15:48
2006.07.16
TTreeNode


15-1150206347
palva
2006-06-13 17:45
2006.07.16
Как поставить плагин к DJVU


15-1150126286
Новичоккк
2006-06-12 19:31
2006.07.16
Как перевести текст в юникод


2-1151645400
Тоха
2006-06-30 09:30
2006.07.16
Как переименовать директорию?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский