Использование драйвера Штрих-М в Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Использование драйвера Штрих-М в Lazarus

Сообщение kirill » 03.04.2022 03:47:44

Добрый день.
Простите, пожалуйста, у меня с английским совсем туго, а тем более когда давно не писал на Pascal.
У меня задача написать программу на Lazarus (Delphi сейчас не в фаворе) по пробитию кассовых чеков.
Пробовал задать вопрос на англоязычном форуме, меня не послали, но все их ответы, честно, я не понял. В одном советовали импортировать что-то с помощью importtti, в другом я понял аналог того, что есть в Delphi. Для Delphi понятно, импортировал из зарегистрированной библиотеки файл pas с классом TDrvFR и создаешь класс на его основе и используешь. Попытался его подтянуть в Lazarus - естественно нет модулей из Delphi по работе с ole и прочего. Нашел проект от Штриха с драйверами в том числе и для Linux и заголовочными файлами на C https://github.com/shtrih-m/fr_drv_ng/r ... 1-g1b0b878
Спросил как мне сконвертировать заголовочный файл на C в модуль PAS и использовать как в Delphi. Но, совсем не понял. Предложили установить LazActiveX и проделать как в Delphi. Этот вариант я понял и даже получилось создать пакет (нафига мне целый пакет, когда нужен только модуль для работы с dll), но он создал модуль по работе не с классами, а интерфейсами. Простите, я их 20 лет назад не очень понимал, а сейчас и подавно.
Помогите создать модуль по работе с драйвером DrvFR.dll.
На всякий случай ветка с английского форума https://forum.lazarus.freepascal.org/in ... 37.15.html
Не ругайтесь, пожалуйста, реально давно не программировал на Delphi/Pascal (последний раз года 3 назад быстро накатал программку по работе с этим драйвером на Delphi и опять забыл).

Объясните, пожалуйста, как мне или сконвертировать или заголовочные файлы из C в Pas, или как мне корректно импортировать модуль ActiveX (с классом TDrvFR), на худой конец, как использовать интерфейс IDrvFR по аналогии с TDrvFR.
Последний драйвер от Штрих-М с программой тест-драйвер (программа явно на Delphi) можно взять с этого сайта https://exam.shtrih-m-partners.ru/base/ самая первая строчка драйвера.
Версия драйвера в том числе под Linux, т.е. без ActiveX (меня интересует только Windows, заморочки с кросс-компиляцией даже не затрагиваю) https://github.com/shtrih-m/fr_drv_ng/r ... 1-g1b0b878
kirill
новенький
 
Сообщения: 22
Зарегистрирован: 25.10.2010 19:40:45
Откуда: Kaliningrad, RF

Re: Использование драйвера Штрих-М в Lazarus

Сообщение alexs » 04.04.2022 11:17:42

Если работать через com-объект в винде - то там разницы нет между дельфи и Lazarus/fpc
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Использование драйвера Штрих-М в Lazarus

Сообщение kirill » 04.04.2022 12:34:33

В том-то и дело, что я работал не как с Word через COM-объект, а с TDrvFR как с обычным объектом, на основании которого создал свой и использовал методы родительского.
Вчера поковырялся в сформированном на основании dll файла с помощью importttl модуле и вроде понял как работать. Пока в своем компоненте сделал дополнительный публдичнй объект с типом IDrvFR49 и вызываю его методы. Пока не проверял как он работает. Но сам принцип не нравиться, что будет когда цифра изменится. Если новая версия драйвера? Пока вопросов больше чем ответов, но для начала надо протестировать на кассе, а этого пока не сделал
kirill
новенький
 
Сообщения: 22
Зарегистрирован: 25.10.2010 19:40:45
Откуда: Kaliningrad, RF

Re: Использование драйвера Штрих-М в Lazarus

Сообщение mr.zloooo » 24.12.2022 01:06:33

И чем все закончилось?
mr.zloooo
незнакомец
 
Сообщения: 1
Зарегистрирован: 24.12.2022 01:04:08

Re: Использование драйвера Штрих-М в Lazarus

Сообщение kirill » 28.02.2023 12:18:07

mr.zloooo писал(а):И чем все закончилось?

Ушел с предыдущего места работы год назад, поэтому уже не помню. Но при мне проект так и не заработал.
kirill
новенький
 
Сообщения: 22
Зарегистрирован: 25.10.2010 19:40:45
Откуда: Kaliningrad, RF

Re: Использование драйвера Штрих-М в Lazarus

Сообщение ssm78 » 08.03.2023 08:14:20

У меня недавно была схожая ситуация.

Есть управляющий софт, написанный на лазарусе. Нужно было прицепить кассовый аппарат штрих-м. Всё хозяйство работает под windows.

Не стал заморачиваться, написал на delphi dll, которая реализует нужный мне функционал по работе с кассовым аппаратом. DLL вызываю из кода на freepascal.

Способ, конечно, не блещет красотой. Но была задача написать код для внутреннего использования, поэтому пойдет.
ssm78
новенький
 
Сообщения: 13
Зарегистрирован: 02.11.2021 12:32:50

Re: Использование драйвера Штрих-М в Lazarus

Сообщение jsa » 09.03.2023 14:24:39

У нас был проект на Lazarus (переписали в свое время с нашего же проекта на DELPHI7) для работы с кассами ATOL через их драйвер.
Atol молодцы они предоставили примеры на туче языков, и среди них был и Delphi

Потом заказчик появился , который не посоветовавшись приобрел Штрих-М
Не стали ничего переписывать на Штрихи, а просто купи ли программные ключи для работы с ними через тот же драйвер ATOL

Раньше такое возможно было, сейчас не знаю, уточню завтра у того кто проект подерживает.
jsa
постоялец
 
Сообщения: 282
Зарегистрирован: 28.11.2017 13:46:04


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

Рейтинг@Mail.ru