![]() |
|
|
![]()
|
|
| Jen5on |
|
||||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 5.10.2008 Где: Белорусь, г. Мин ск Репутация: нет Всего: нет |
Такое дело: есть чековый принтер Epson TM220 вродь...
Для теста написал программку вот код Тут настраиваю и открываю...
Тут подготавливаю для печати данные, а потом печатаю...
А тут собственно функция для печати....
Вопрос вот вчем: Когда дело доходит до строки WriteFile(ComPort,OEMString,CheckString.Length(),&bytes_written,NULL); программа вызывает ошибку... Access violation at address 7C89shHG in module "kernel32.dll". Write of address 0000000 а если в последнем блоке программы
меняю на
то вообще что-то долго делает и на печать ничего не выдает... но ошибки тоже не возникает))) (ну разве что проверить только на последнюю ошибку...) Подскажите в чем может быть проблема. Может неправильно настроил порт или параметры в вызове WriteFile неправильные. Кто чем может... Исходники прилагаются... Присоединённый файл ( Кол-во скачиваний: 8 )
NewTestPrint.rar 28,80 Kb |
||||||||||
|
|||||||||||
| sawfish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 30.7.2008 Где: Новосибирск Репутация: 8 Всего: 8 |
Вот несоответствие, которое я вижу.
Функция GetCommState заполняет структуру DCB, после ее изменения (задания своих параметров) применяется SetCommState. А у Вас сначала идет задание параметров DCB, потом Вы ее применяете функцией SetCommState, а потом зачем-то вызываете ее заполнение (GetCommState). Хотя, вроде, это не должно влиять, т.к. новые настройки Вы не применяете... А для чего переменная C? По тексту не видно... По поводу TOverlapped OverWrite. ИМХО, Вам не нужно использовать структуру OVERLAPPED, она для асинхронных операций. И еще, мне непонятно, зачем Вы копируете из CheckString в OEMString. Почему бы не так: WriteFile(ComPort, CheckString.c_str(), CheckString.Length(), &bytes_written, NULL); |
|||
|
||||
| sawfish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 30.7.2008 Где: Новосибирск Репутация: 8 Всего: 8 |
Да, а где Вы устанавливаете размер буферов приема и передачи (SetupComm)?
|
|||
|
||||
| Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Откомпилировал приложенный проект, вот что выдалось в порт:
То есть в порт что-то передаётся, осталось только выяснить, чего хочет принтер чтобы начать печать. З.Ы. однако надо учесть, что данные приниал терминал а не принтер. Это сообщение отредактировал(а) Usper - 4.8.2009, 08:16 -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Jen5on, вполне вероятно что помимо самой информации - девайсу надо отправить какие то системные команды. К нему есть SDK или что то типа этого?
|
|||
|
||||
| Jen5on |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 5.10.2008 Где: Белорусь, г. Мин ск Репутация: нет Всего: нет |
Спасибо большое человеческое за советы mrbrooks и Usper Обязательно посмотрю какие управляющие символы нужны для отправки на печать.
|
|||
|
||||
| Jen5on |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 5.10.2008 Где: Белорусь, г. Мин ск Репутация: нет Всего: нет |
Все было так банально
Вот точно рабочий исходник с exe файлом. Присоединённый файл ( Кол-во скачиваний: 12 )
stl_running____.rar 335,47 Kb |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |