Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ShellExecute и Dos приложение 
V
    Опции темы
Jonnik
Дата 19.1.2012, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.2.2006

Репутация: нет
Всего: нет



Здравствуйте.
Я уже перерыл пол инета и ничего толком не нашел по свовему вопросу.
Мне нужно запустить DOS exe. Когда я ее вручную запускаю, то все работает нормально. Рузультат выполнения программы - это на основе нескольких файлов получить итоговый.
Когда я запускаю по этой команде

Код

ShellExecute(Form1.Handle,nil, PChar(ExtractFilePath(Application.ExeName)+'Settings\DASNS100.exe'), nil, nil, SW_SHOW);


Или 

Код

ShellExecute(Handle, 'open', PChar('command.com'), PChar('/c  '+ExtractFilePath(Application.ExeName)+'\Settings\DASNS100.exe'), nil, SW_SHOW);


Запускается cmd.exe и сразу закрывается. На этом все. При этом файл не создается. После некоторых манипуляций выяснилось, что  прога все таки запускается, но не находит те файлы которые ей нужно обработать (в этом могу ошибаться). В Dos проге все пути указаны относительные поэтому все фалы она ищет в папке с exe. Т.е. где сама лежит. 


Помогите решить эту проблему?
Заранее спасибо.

Это сообщение отредактировал(а) Jonnik - 19.1.2012, 23:59
PM MAIL   Вверх
Данкинг
Дата 20.1.2012, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



А если сделать командный файл, запускающий твою прогу, и этот батник запускать из ShellExecute?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Jonnik
Дата 20.1.2012, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.2.2006

Репутация: нет
Всего: нет



Цитата(Данкинг @ 20.1.2012,  00:19)
А если сделать командный файл, запускающий твою прогу, и этот батник запускать из ShellExecute?

Это конечно вариант, но не тот. Нужно все таки через прогу напрямую
PM MAIL   Вверх
northener
Дата 20.1.2012, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 8
Всего: 20



Параметр lpDirectory функции ShellExecute у вас в обоих случаях - nil. Делайте выводы о том, где данный процесс/прога сможет найти/будет искать "файлы которые ей нужно обработать"?

Это сообщение отредактировал(а) northener - 20.1.2012, 00:55


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Jonnik
Дата 20.1.2012, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 9.2.2006

Репутация: нет
Всего: нет



Цитата(northener @ 20.1.2012,  00:45)
Параметр lpDirectory функции ShellExecute у вас в обоих случаях - nil. Делайте выводы о том, где данный процесс/прога сможет найти "файлы которые ей нужно обработать"?

Спасибо.
Как минимум надо было написать так 
Код

ShellExecute(Form1.Handle,'open', PChar(ExtractFilePath(Application.ExeName)+'Settings\DASNS100.exe'), PChar(ExtractFilePath(Application.ExeName)+'Settings\'), PChar(ExtractFilePath(Application.ExeName)+'Settings\'), SW_SHOW);

PM MAIL   Вверх
northener
Дата 20.1.2012, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 8
Всего: 20



Цитата(Jonnik @  20.1.2012,  00:54 Найти цитируемый пост)
Спасибо

Не за что.
И как максимум тоже нужно было написать именно так. 


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.