Ответ от COM-порта | |
---|---|
Леокади Автор Сообщений: 89 Дата регистрации: 27.06.2005 |
Всем привет. Программирую фиск.накопитель VIKI PRINT
Очередная загадка для меня. Есть элементарная команда "Получить номер смены" в ответ на которую номер смены возвращается Но бывает так, что мой viki перестает отвечать на эту команду. Уж не знаю, что он там в это время обрабатывает, нет ответа и все Что делаю: открываю стандартную утилиту этого принтера. Запускаю ту же команду. Срабатывает мгновенно После этой манипуляции и в моей проге команда начинает срабатывать Такая ситуация бывает не только с конкретно этой командой Что это может быть? Уж не знаю в каком направлении копать. Может есть какие идеи. Понимаю, что туманно обрисовываю. Направьте меня пожалуйста в нужном направлении |
Re: Ответ от COM-порта | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Что можно сказать, ничего не зная.
Только общие соображения. Коли работаешь не через апи, а через ком. Протоколируй весь обмен! Все что послал, все что получил.Разбирай почему зависает. И не понятно, на другие команды реагирует, или только эту. Попробуй ждать некоторое время, потом ресетить и начинать сначала. ------------------ |
Re: Ответ от COM-порта | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Вангую...
Думаю, ты вводишь в ступор контроллер, какой то предыдущей командой. Стандартный контроллер, инициализирует обмен по новой, и все срабатывает. ------------------ |
Re: Ответ от COM-порта | |
---|---|
Леокади Автор Сообщений: 89 Дата регистрации: 27.06.2005 |
Я тоже так думаю. И эта команда - печать чека. Фиск.накопитель отправляет чеки на сайт сразу после выписки. Это обеспечивает программа ComProxy Вот пока я эту ComProxy не поставила (и чеки не отправлялись) все было норм, команды не подвисали |
Re: Ответ от COM-порта | |
---|---|
Леокади Автор Сообщений: 89 Дата регистрации: 27.06.2005 |
Свойство Handshaking для элемента MSComm установлено в 1 - XOn/XOff Handshaking
Это верно? |
Re: Ответ от COM-порта | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Это зависит от требований к протоколу вашего устройства. Должно быть в документации описано. Обычно этот флаг игнорируется.
------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. Исправлено 1 раз(а). Последнее : Влад Колосов, 23.06.17 11:28 |
Re: Ответ от COM-порта | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Скорее всего, происходит инициализация нужных настроек порта. Если непонятно что и как настраивать, то для Windows существуют программы-снифферы для того, чтобы подсмотреть обмен данными. ------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
Re: Ответ от COM-порта | |
---|---|
Леокади Автор Сообщений: 89 Дата регистрации: 27.06.2005 |
Подскажите пожалуйста, какую библиотеку я переписываю, чтоб моя откомпилированная программа работала на машине пользователя. Обычно я переписывала
VFP6R.DLL VFP6RENU.DLL и для COM-порта MSCOMCT2.OCX программа открывается, а начинаешь открывать формы, где объект COM, ругается OLE Object is being ignored У пользователя Win10, 64разр |
Re: Ответ от COM-порта | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
ocx нужно регистрировать - через regsvr32 - и обязательно запускаемый из консоли "As Administrator". При том в 64-битных системах саму 32-битную dll/ocx следует помещать в папку %WINDIR%\SYSWOW64 Впрочем, можно и в другой папке её зарегистрировать - лишь бы ты знала где именно, и не удалила потом случаяно БЕЗ дерегистрации...
Есть технология RegFreeCOM позволяющая обходится без регистрации, просто размещая ocx/dll рядом с exe - но я не уверен что она корректно работает с VFP6 - были там встроенные в exe манифесты или нет, и как нужно это правильно делать для данной версии - я не в курсе. Это СЛИШКОМ устаревшая система. ------------------ WBR, Igor |
Re: Ответ от COM-порта | |
---|---|
Леокади Автор Сообщений: 89 Дата регистрации: 27.06.2005 |
Переписала MSCOMCT2.OCX
в %WINDIR%\SYSWOW64 зарегистрировала в команд.строке от имени админа regsvr32 %WINDIR%\SYSWOW64\MSCOMCT2.OCX Сообщил, что все успешно Но в моей проге результат тот же Class not registered. OLE Object is being ignored |
Re: Ответ от COM-порта | |
---|---|
Леокади Автор Сообщений: 89 Дата регистрации: 27.06.2005 |
Может надо regsvr64 ?
У меня же 64разрядная |
Re: Ответ от COM-порта | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Эммм- у тебя на этой форме какой контрол то? Если mscomm, то это НЕ mscomct2.ocx а mscomm32.ocx
------------------ WBR, Igor |
Re: Ответ от COM-порта | |
---|---|
matod Сообщений: 3062 Откуда: Иркутск Дата регистрации: 31.10.2001 |
Сталкивался с этой проблемой после перехода на работу с ComProxy. Вылечилось элементарно увеличением времени ожидания ответа от устройства. Раньше хватало 0.3 секунды, после того, как увеличил до 2 секунд проблема исчезла и больше не повторялась.
Я с COM работаю через api, не использовал MSCommControl. |
Re: Ответ от COM-порта | |
---|---|
Леокади Автор Сообщений: 89 Дата регистрации: 27.06.2005 |
С этим вопрос решила. Все получилось) Спасибо огромное |
Re: Ответ от COM-порта | |
---|---|
Леокади Автор Сообщений: 89 Дата регистрации: 27.06.2005 |
Пробовала и время увеличивать. Удивительно, что оригинальная утилита мгновенно срабатывает
Можно пример кода? Я через API не работала с COM |
Re: Ответ от COM-порта | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Хочется спросить, а у вашей кассы нет АПИ?
Вы сразу через ком-порт. Неудобно. И коли через него, полагаю, он должен по окончанию печати, и всех сопряженных действий, что то выдать. А Вы послать ответ. Или... какой то постоянный опрос... Не знаю как ваш протокол организован. Лучше работать через АПИ. Ну а коли его нет, то внимательно разбираться с протоколом обмена. ------------------ |
Re: Ответ от COM-порта | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Навскидку погуглил Viki Print
Мне показалось, что драйвер от атола подойдет. Почему вы пошли по столь трудному пути? ------------------ |
Re: Ответ от COM-порта | |
---|---|
Леокади Автор Сообщений: 89 Дата регистрации: 27.06.2005 |
Открываю руководство, сразу раздел "1.1. Формат протокола передачи данных" первая строка "Связь FM16 (далее - ККТ) с компьютером осуществляется по интерфейсу RS232 или USB в режиме виртуального COM порта. Параметры COM порта по умолчанию - 57600,n,8,1" Может я чего не понимаю. Объясните мне как чайнику, что за связь посредством API |
Re: Ответ от COM-порта | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Ну это когда есть некоторая программа от производителя кассы, которая САМА общается с кассой по USB/RS232/прочим соединениям, а уже твой софт работает с кассой через эту программу. По сути ComProxy это, вероятно, вариант такой программы - но он, видимо не лучший, т.к. для твоей программы выставляет не какой-то "приличный" COM интерфейс (наподобии того который ворд/эксель даёт для управления собой), а такой же низкоуровневый "виртуальный последовательный порт".
------------------ WBR, Igor |
Re: Ответ от COM-порта | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Сочувствую. Какой .... злодей решил купить такую кассу. Когда на рынке нормальных полно. ------------------ |
© 2000-2024 Fox Club  |