|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.04.2016, 15:07 | #1 |
Пользователь
Регистрация: 03.09.2014
Сообщений: 39
|
Работа с командной строкой
Код:
Данная процедура выводит в memo результат выполнения команды командной строки. Команда ipconfig Выполняется нормально и все выводится в memo, но другие команды , например md c:\test не выполняется, ввожу команду help , в диспетчере задач процесс help.exe появляется и висит в memo ничего не выводится , завершаю процесс help.exe и в memo сразу выводится справка.Помогите сделать так чтобы все работало корректно |
05.04.2016, 15:41 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Вы нигде не читаете из трубы.
Вернее читаете только после заверешения процесса а процесс может не завершится, если никто не читает его вывод. Самое простое решение - поток, который будет читать все время из hReadPipe. Далее, цикл чтения отработает всего один раз - BytesRead не может быть больше чем BufferSize. |
05.04.2016, 15:59 | #3 |
Пользователь
Регистрация: 03.09.2014
Сообщений: 39
|
А можете подправить мой код пожалуйста что бы читало из "трубы" и.т.д, просто я ни слова не понял в том что вы написали и вообще я не силен в потоках , пайпах и.д
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
unix. работа с командной строкой. | alexandrkamarov | Помощь студентам | 0 | 07.10.2014 19:54 |
Работа с командной строкой. Fortran | c0ach | Помощь студентам | 0 | 04.12.2013 00:37 |
Работа с командной строкой | YukkA | Помощь студентам | 0 | 01.06.2012 12:45 |
Творческая работа с командной строкой | -Jack- | Общие вопросы Delphi | 9 | 30.04.2012 04:10 |
Работа с командной строкой | lyryks | Помощь студентам | 2 | 16.11.2007 13:06 |