Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Модели:
Меркурий-114.1К, Меркурий 115Ф, Меркурий 119Ф, Меркурий 130ф, Меркурий MS-K
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение alfa »

Версия драйвера 2.1.3
При печати текстовых строк большого размера (примерно более 1кб) происходит зависание драйвера ФР.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение slan »

Проверим. Более 1024 символов в чеке?
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение slan »

Да, действительно, напечатал 750 символов и повис. Будем разбираться
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение alfa »

slan писал(а):проблема решена, устанавливайте новую версию отсюда Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1
В новой версии не зависает ,но и не работает.
Если размер печатаемого текста равен примерно 400-500 символов и более, печать останавливается , управление после небольшой задержки возврашается в программу. Следующие обращения к ФР приводят к ошибке 65541 (Ошибка связи с устройством). Продолжение работы возможно только после выключения -включения ФР.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение slan »

пробуйте новую версию
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение alfa »

slan писал(а):пробуйте новую версию
Сейчас вроде работает , но появилась одна особенность , вернее она была и версии 2.5
Перестал корректно обрабатываться символ перевода строки 0x0A
При его использованиии получаем двойной перевод строки на ленте и плюсом возникает та же ситуация с остановкой ФР и Ошибкой связи с устройством даже в вер. 2.6
Эту проблему можно решить , если не использовать 0A , а дополнять каждую строку пробелами до ширины ленты .
Поясните , это баг или такая особенность работы в новой версии.
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение alfa »

slan писал(а):Проверим. Более 1024 символов в чеке?
Это не фискальные чеки. Иногда необходимо использовать ФР как принтер для печати товарных чеков , слип чеков платежных терминалов , сменных отчетов и.т.п.
Также хочу напомнить Вам о проблеме , поднятой в предыдущей теме :
Фискальник почему-то неправильно возвращает статус принтера при печати длинной нефискальной строки

У меня есть несколько вопросов и предложений по функционалу драйвера , подскажите , в каком разделе форума их лучше поместить -.
в данном , или в Обсуждение программного обеспечения КБ по ККМ (г. Курск)
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение slan »

alfa писал(а):У меня есть несколько вопросов и предложений по функционалу драйвера , подскажите , в каком разделе форума их лучше поместить
Давайте вот здесь: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение slan »

alfa писал(а):Сейчас вроде работает , но появилась одна особенность , вернее она была и версии 2.5
Перестал корректно обрабатываться символ перевода строки 0x0A
При его использованиии получаем двойной перевод строки на ленте и плюсом возникает та же ситуация с остановкой ФР и Ошибкой связи с устройством даже в вер. 2.6
Эту проблему можно решить , если не использовать 0A , а дополнять каждую строку пробелами до ширины ленты .
Поясните , это баг или такая особенность работы в новой версии.
Странное поведение. По идее должно работать так: Если в строке встречается символ '\n', то происходит перевод строки, если в строке символов больше чем может поместиться на ленте (в зависимости от шрифта), то строка разбивается либо по количеству символов способных поместиться на ленте, либо по пробелу. Например напечетаем такую строку (код билдера):

WideString wstr2 = L"абвгдеёжзи\nйклмнопрст\n012345678901234567890123456789";
result = MSK.OleFunction("НапечататьНефискСтроку", devID.c_bstr(), wstr2.c_bstr());

получаем:
Изображение

или же добавим пробел:
wstr2 = L"абвгдеёжзи\nйклмнопрст\n012345678901234567890 123456789";
result = MSK.OleFunction("НапечататьНефискСтроку", devID.c_bstr(), wstr2.c_bstr());

получаем:
Изображение

Мой ФР не повис, приведите строку с которой виснет, возможно я что-то не учёл
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение slan »

alfa писал(а):Также хочу напомнить Вам о проблеме , поднятой в предыдущей теме :
Фискальник почему-то неправильно возвращает статус принтера при печати длинной нефискальной строки
К сожалению разработчик молчит, напомню ему еще раз
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение alfa »

slan писал(а): Мой ФР не повис, приведите строку с которой виснет, возможно я что-то не учёл
Тестовый файл
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение slan »

пробуйте с новой версией (2.1.7), должно работать
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение alfa »

slan писал(а):пробуйте с новой версией (2.1.7), должно работать
все работает корректно
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение alfa »

Вер 2.1.10
Снова появилось зависание во врема печати текста на длинных строках
Тестовый файл
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение slan »

попробовал Ваш файл на двух фискальниках, на скоростях 9600 и 57600, у меня печать прошла корректно
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение alfa »

slan писал(а):попробовал Ваш файл на двух фискальниках, на скоростях 9600 и 57600, у меня печать прошла корректно
Прошу прощения, вот файл, вызывающий зависание :
Тестовый файл
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение slan »

качайте следующую версию, уменьшил количество передаваемых символов в одной посылке, с Вашим файлом теперь работает
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение alfa »

Все равно периодически происходят зависания.
Пока проблему решил так - отказался от символа перевода строки, все строки дополняю пробелами до ширины ленты.
В таком виде при печати ошибок не возникает
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Зависание драивера ФР при печати длинных текстовых строк на Меркурий MS-K

Сообщение slan »

в 2.4.0 поправил фискальные строки, надеюсь окончательно.
Ответить