|
Вопрос # 2 462/ вопрос открыт / |
|
Здравствуйте, эксперты!
Новый вопрос возник в продолжение вопроса №2455.
Благодаря помощи экспертов и подсказок, запуск консольного приложения выполняю так: (см. приложение).
Все прекрасно работает, НО только в отладочном режиме (из-под Делфи). Как только запускаю ехе-шник дает ошибку такого типа:
"Access violation at 770F58C8 in module ‘ntdll.dll’. Read of address 00010044".
Как быть, подскажите, пожалуйста!
Приложение: Переключить в обычный режим- procedure TForm1.Button1Click(Sender: TObject);
- var
- ProcInfo: TProcessInformation;
- StartupInfo: TStartupInfo;
- ProcessInformation: TProcessInformation;
- begin
- GetStartupInfo(StartupInfo);
- with StartupInfo do
- begin
- wShowWindow := SW_HIDE;
- dwFlags := STARTF_USESHOWWINDOW;
- end;
- Win32Check(CreateProcess(nil, 'command.com /c GRWAVE.EXE < Input.inp > Output.out',
- nil, nil, FALSE, CREATE_NEW_CONSOLE, nil, nil, StartupInfo, ProcessInformation));
- WaitForSingleObject(ProcInfo.hProcess, INFINITE);
- Win32Check(CloseHandle(ProcInfo.hProcess));
- end;
 |
Вопрос задал: Драганов Василий Михайлович (статус: Посетитель)
Вопрос отправлен: 26 февраля 2009, 22:29
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 5; последнее сообщение — 27 февраля 2009, 10:29; участников в обсуждении: 3.
|
Death_Master (статус: Посетитель), 26 февраля 2009, 23:23 [#1]:
С .com файлами уже сложновато....
И есть вероятность, что глючит оболочка отладки....
А возможно, что глючит сама программа, но это скрывается конструкциями вроде try.. except...
Обычно захожу по ночам... (60-70%)
Если нужно что-то написать, то беру оборудованием, деньгими и пивом(при личной встрече)...
P.S. Помогаю и рассказываю бесплатно ^_^.....Nyaaa!
|
|
Драганов Василий Михайлович (статус: Посетитель), 27 февраля 2009, 00:04 [#2]:
Проверил без command.com:
Win32Check(CreateProcess(nil, 'GRWAVE.EXE < Input.inp > Output.out',
результат тот же и сообщение такое же.
|
|
Death_Master (статус: Посетитель), 27 февраля 2009, 00:08 [#3]:
а если подставить другой exe ?
Это для диагностики: попробуйте xcopy.exe или что-нибудь подобное...
Если ошибка будет вылезать, тогда это косяк Борланда...
Обычно захожу по ночам... (60-70%)
Если нужно что-то написать, то беру оборудованием, деньгими и пивом(при личной встрече)...
P.S. Помогаю и рассказываю бесплатно ^_^.....Nyaaa!
|
|
Вадим К (статус: Академик), 27 февраля 2009, 10:20 [#4]:
Решил запустить у себя этот код и посмотреть, где и как. Ошибку выдает в обоих варинантах, правда другую - о неверном дескрипторе в вызове CloseHandle. Но там дейстительно плохой дескриптор.
Буду вечером изучать подробнее.
Смотрел исходники... многовато, 2800 строк. Правда с них около 900 строк коментариев. Но переписать реально за приемлемое время.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Вадим К (статус: Академик), 27 февраля 2009, 10:29 [#5]:
Скажем так, если бы всё было на паскале, то задача заметно бы упростилась?
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|