![]() |
|
|
![]()
|
|
| youngprankster |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.3.2009 Репутация: нет Всего: нет |
Не понимаю особенностей работы.
Пытаюсь запустить консольное приложение несколько раз с некоторыми параметрами. CreateProcess отрабатывает нормально, но WaitForMultipleObjects выдает WAIT_FAILED - код ошибки 6 (Invalide handle). Интересность в том, что если вышеозначенные действия я делаю для приложения с формами (VCL Forms Application) - все работает "на ура". Когда же я абсолютно тот же код запускаю из консоли (Console Application) - собственно, и происходит описанный ошибочный эффект. Созданные консольные приложения на момент вызова WaitForMultipleObjects работают. Буду признателен за помощь!
Это сообщение отредактировал(а) youngprankster - 19.3.2010, 16:02 |
|||
|
||||
| world |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 2.10.2009 Где: Харьков Репутация: нет Всего: 12 |
1.Единственная мысль, что программа не может получить дескриптор одного или нескольких потоков.
В связи с этим предлагаю модифицировать программу в районе 26 строчки. Добавив проверку на создание не инвалидного дескриптора.
2.Когда я учил эту часть языка. Преподаватель советовал вместо
использовать
Мотивировав это, тем, что на некоторых версиях ОС будет возникать ошибка, связанная с тем, что функция CreateProcess, хотя и не изменяет командую строку, но в свою очередь требует не константной строки, правда, признаюсь честно, это точно не решит Вашей проблемы --------------------
Say what you mean, and mean what you say. Robert Wilson Cody |
||||||
|
|||||||
| youngprankster |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.3.2009 Репутация: нет Всего: нет |
На валидность дескрипторов проверял. При преобразовании к числу выходит вполне правдоподобный идентификатор, который, правда, не совпадает ни с одним из тех, что можно видеть в диспетчере задач. Если же брать pInfo.dwProcessId, то он в точности совпадает с тем процессом, который порожден программой и крутится в списке задач. Попытка заменить
Хм, интересно Мне кажется, что копать надо именно в сторону того, что ожидание происходит консольного приложения из консоли - ибо из "форменного" все работает. Вот только куда копать... мозг уже плавится |
||||||||
|
|||||||||
| world |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 2.10.2009 Где: Харьков Репутация: нет Всего: 12 |
Пытался промоделировать возникновение ошибки, не разу не удалось получить необходимый результат (в смысле ошибку)
Уже пробовал запускать и консольные и оконные приложения, и менял параметры функций, ошибка не возникает Разве, что возникла идея, как можно проверить, это проблема с дескрипторами или функцией. Попробуй задать все значения в CreateProcess по умолчанию
если ошибка, будет возникать, надо проверять правильность дескрипторов, нет - где-то в сторону параметров функции рыть надо.
Дк, дескриптор вроде и не должен может и не совпадать с идентификатором. Вобщемто поэтому попытка приведения идентификатора к дескриптору и не увенчалась успехом. ЗЫ. А как срочно проблема должна быть решена. Могу в понедельник подойти к преподу, который на этом специализируется проконсультироваться. (правда отвечу не раньше 16.00 по GMT+2). Это сообщение отредактировал(а) world - 20.3.2010, 19:17 --------------------
Say what you mean, and mean what you say. Robert Wilson Cody |
||||
|
|||||
| youngprankster |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.3.2009 Репутация: нет Всего: нет |
Это был шаг отчаяния. Расчет на "вдруг покатит" Косяк был в кривом использовании мною массива - перешел на vector и все заработало Спасибо, за участие в решении проблемы, world |
|||
|
||||
| world |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 2.10.2009 Где: Харьков Репутация: нет Всего: 12 |
Всегда, пожалуйста.
--------------------
Say what you mean, and mean what you say. Robert Wilson Cody |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |