![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 30.01.2013
Сообщений: 10
|
![]()
Тема давно избитая, однако недавно столкнулся с проблемой при вводе команд. WriteFile работает нормально и даже возвращает кол-во записанных байт, однако ничего не происходит. В чём проблема?
P.S. Компилирую в Delphi XE3 под Win 7 x64. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 30.01.2013
Сообщений: 10
|
![]()
Неужели никто не поможет?
Хотя бы дайте знать в какую сторону копать. |
![]() |
![]() |
![]() |
#3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Вот где-то читал что пока пайп не закрыт до адресата его содержимое не дойдет...
Вообще-то могу ошибатся... http://delphiworld.narod.ru/base/console_in_out.html Может поможет. P.S. Цитата:
I'm learning to live...
Последний раз редактировалось Stilet; 31.01.2013 в 18:04. |
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
некоторые команды ждут CTRL+Z типа EOF
вроде #26 не помню
Не стесняемся, плюсуем!
![]() |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Может разрабы налажали?
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]()
В ReadStrFromChild для chBuf сначала память выделяется вызовом New, а освобождается - FreeMem.
После CreateProcess надо бы закрыть хэндл потока, если не нужен. А основная ошибка - что-то ты в WriteToChild перемудрил с PAnsiString. В таком виде в WriteFile надо передавать chBuf^[1]. А лучше вообще замени на AnsiString без указателей. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 30.01.2013
Сообщений: 10
|
![]()
Somebody,
пробовал менять на AnsiChar и убирать лишние преобразования. Толку нету. В общем решил написать всё с нуля и полностью разобраться с пайпами. P.S. Код в архиве не мой. На форуме, где его выложили, писали что он полностью рабочий. |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 30.01.2013
Сообщений: 10
|
![]()
Проблема была в IDE. После переустановки заработало нормально.
UPD: Написал небольшой модуль, для работы с консолями. Может кому-нибудь понадобиться. Последний раз редактировалось Anonymous1235; 02.02.2013 в 11:41. |
![]() |
![]() |
![]() |
#9 |
Новичок
Джуниор
Регистрация: 05.08.2014
Сообщений: 2
|
![]()
Спасибо большое за модуль, очень помог! Единственная проблема что вместо русского текста в консоль отправляются корозябины. И при работе с другими консольными приложениями консольный текст читается тоже корозябинами.
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
![]()
alextrof94$gmail.com
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с консолью | BomaN1 | Помощь студентам | 0 | 19.12.2011 20:41 |
GUI приложения. Работа с БД. | Airou | Помощь студентам | 0 | 24.03.2011 15:43 |
Работа с текстовыми строками в GUI приложениях | Anubys | Общие вопросы C/C++ | 7 | 24.03.2011 00:59 |
Работа с консолью | WindOfDark | Помощь студентам | 0 | 07.01.2011 15:21 |
Работа с консолью, вопросы | Hacker19_90 | Общие вопросы C/C++ | 21 | 24.12.2008 20:41 |