![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Есть вот такой код:
Код:
При выполнении получается такая картинка: скрин на яндексе То есть посередине пятой строки программа вешается. Понимаю, что где-то закрался косяк (и не один)), но не понимаю, где ![]() p.s.: Delphi XE3 Последний раз редактировалось Agat330, 12.01.2015 в 20:56. |
#2
|
||||
|
||||
![]() Цикл какой-то странный. Разве пайп не генерирует обычных сообщений синхронизации, чтобы можно было пользоваться WaitForSingleObject?
Не стоит путать форумы с богадельнями. © Bargest |
#4
|
||||
|
||||
![]() Ха-ха, то-то же я смотрю, что код работы с OEM-кодировкой такой знакомый. Хоть кто-то на форуме поиском пользуется, и то радость.
![]() Не стоит путать форумы с богадельнями. © Bargest |
#5
|
|||
|
|||
![]() Так в чем ошибка?
|
#6
|
|||
|
|||
![]() Блин, только обрадовался, что отозвались,..
![]() |
#7
|
|||
|
|||
![]() Снова здрасти! )) В общем, в том проекте год назад пришлось отказаться от примочек в консоли и пойти другим путем. Каким - уже не важно, это будет оффтоп. Прикол в том, что недавно мне снова пришлось писать прогу, в которой теперь уже точно нужен перехват вывода из консоли в Memo. В общем, у меня на XE-3 завелся код отсюда (ну, очень похоже на код, с которым я парился тогда)) с единственной правкой:
Var Buffer: PAnsiChar; |
#8
|
|||
|
|||
![]() Код:
Снова всем здрасти!)) Как писал выше - у меня заработал этот код вот в этом виде. То есть если на вход процедуры я даю "ping ya.ru" и memo-объект - в мемо все отлично, яндекс пингуется. Но если любую из команд adb - (adb devices, например) программа виснет, приходится убивать процесс. Заранее скажу, что exe'шник программы я после компиляции копирую в папку, где находится adb.exe. Помогите понять, что не так делаю или идеями поделитесь... Последний раз редактировалось Agat330, 02.08.2015 в 02:35. |
#9
|
||||
|
||||
![]() Посмотри под отладкой этот цикл. Может ADB ждет какого-то ввода или еще чего-нибудь. Еще ADB при старте пытается запустить свой daemon, может с этим какие-то косяки. Я с ADB код на C# делал, там все эти пайпы автоматом обрабатываются, но все равно обплевался - постоянно какие-то проблемы были с этим гугловым поделием.
А вообще, насколько я помню, ADB поддерживает работу через псевдосокеты. Можно один раз запустить его сервер, а потом слать команды на localhost. Вот что-то типа документации (см. "II. Protocol details:"), а тут сами команды. Найти их непросто, мало кто это юзает, хотя имхо в миллион раз удобнее тупого перехвата и парсинга текста из консоли. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 02.08.2015 в 15:12. |
#10
|
|||
|
|||
![]() Уау!!! Круто!!! Не знал, буду пробовать, спасибо)))
А "посмотри под отладкой цикл" - я дуб в отладке ((( Последний раз редактировалось Agat330, 02.08.2015 в 17:23. |
#11
|
||||
|
||||
![]() Цитата:
jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 03.08.2015 в 15:05. |
#12
|
|||
|
|||
![]() Bargest, подскажи литературу или сайты для начинающитх отладчиков
|
#13
|
||||
|
||||
![]() Каких еще "начинающих отладчиков"? Просто берешь и отлаживаешь. По запросу "отладка delphi" выводятся тысячи статей. Там изучать-то нечего.
jmp $ ; Happy End! The Cake Is A Lie. |