![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
isql.exe или как выполнить команду в консольном приложении... ? [D7, WinXP]
Hmm © (2004-10-13 19:52:00)Я пытаюсь из своего приложения запустить другую, консольную программу (isql.exe - может кто сталкивался, входит в пакет IB 6.x) и выполнить в ней команду, например help (есть тама такая).
Команды можно вводить непосредственно в окно этой программки сразу после запуска.
Вот, что делаю Я:
shellexecute(handle,nil,'c:\isql.exe' ,'help',nil,sw_restore);
(собственно, пробовал также createprocess и winexec... результат тот же)
программа ругается на то, что не сушествует такого файла(!!!) HELP =( Видимо я что-то не так делаю, вопрос что ?
Другими словами: как передать запушенному консольному приложению НЕ путь к файлу (для открытия), а именно команду (вписать текст в окно приложения)?
ЗЫ: Заранее спасибо за ответы.
Анонимщик (2004-10-20 12:17:00) [1]Попробуй подавать не просто строку 'isql.exe', а, например, вот такую:
'isql -i simpleVDB1.sql'
Polevi (2004-10-20 11:32:00) [2]FAQ на этом сайте
homosapienz (2004-10-19 22:27:00) [3]Мастера помогите может кто знает?
homosapienz (2004-10-13 22:26:00) [4]Jel, Спасибо это уже кое что, но не совсем понятно как работать в диалоговом режиме? Допустим я ввожу команду ftp она требует ввести какие то данные. Так как мне отловить событие ожидания ввода, тем более что моя программа подвисает ожидая завершения ftp? И как поддерживать сессию приглашение-ввод? может есть мысли?
Jel (2004-10-13 21:15:00) [5]Посмотри этот пример http://delphibase.endimus.ru/?action=viewfunc&topic=winappctrl&id=10317
Он читает вывод консольного приложения, но после незначительной творческой переработки может отправлять и ввод. Принцип там показан, остальное дело техники.
homosapienz (2004-10-13 20:15:00) [6]Тоже давно интересуюсь этой проблемой, дайте пожалуйста рабочий код взаимодействия с иоей программы с консольной.
Там вроде нужно через CreateProcess а дальше как то через Pipe
(или что-то типа того). Пожалуйста дайте пример.
Hmm (2004-10-13 20:08:00) [7]каким образом..?! какой функцией (набором функций) можно переобпределить этот самый поток ввода, и далее, каким образом вывести этот текст (help)?
Jel (2004-10-13 19:58:00) [8]Если программа не пердусматривает этого явно (как в твоем случае) при создании процесса можно переопределить для него стандартный поток ввода (и вывода если нужно) и убедившись, что процесс стартовал вывести в этот поток нужный текст (help).