ATOL драйвер 10.x
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7680
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 68 раз
ATOL драйвер 10.x
Привет всем !
Класс работы с драйвером ККТ АТОЛ 10.
(форк на основе класса ADMIN'а 2019 г.)
Класс рабочий, весь код открыт. Любые замечания и дополнения - приветствуются.
В FTP разделе форума есть папка: /_Books/Atol.KKT со всей сопутствующей документацией.
Класс работы с драйвером ККТ АТОЛ 10.
(форк на основе класса ADMIN'а 2019 г.)
Класс рабочий, весь код открыт. Любые замечания и дополнения - приветствуются.
В FTP разделе форума есть папка: /_Books/Atol.KKT со всей сопутствующей документацией.
- Вложения
-
- Admin-2019.zip
- Оригинальный класс 2019 г.
- (27.92 КБ) 116 скачиваний
-
- Atol-2024-10-31.zip
- Версия от 31.10.2024 г.
- (84.65 КБ) 5 скачиваний
Последний раз редактировалось Игорь Столяров 31 Октябрь 2024, 14:51, всего редактировалось 23 раза.
Make Clarion Great Again !
- Игорь Столяров
- Ветеран движения
- Сообщения: 7680
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 68 раз
ATOL драйвер 10.x
Так здесь же нет прямого линкования DLL (точнее LIB) при сборке приложения.
DLL загружается в процессе выполнения и адреса вызова функций в ней определяются динамически по наименованию.
Make Clarion Great Again !
ATOL драйвер 10.x
Нет, всё не так.
Вот декларация конкретной функции в библиотеке:
Так что адрес функции заложен в параметре вызова. Линкование прямое.
Admin разъяснит, он копался.
Вот декларация конкретной функции в библиотеке:
Код: Выделить всё
_DWORD __cdecl libfptr_apply_single_settings(_DWORD);
Admin разъяснит, он копался.
C10, Win10x64
- Игорь Столяров
- Ветеран движения
- Сообщения: 7680
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 68 раз
ATOL драйвер 10.x
Это же сишное объявление для линкования DLL. Можно создать LIB и в Clarion прилинковать вызовы функций из внешней DLL.
Тогда объявления в MAP будут такие же … Например так сделано в проекте XLSXLibWriter, только без DLL программа не запустится.
Посмотрим, что Admin скажет, в Хабаровске уже светает …
Make Clarion Great Again !
ATOL драйвер 10.x
А где в XLSXLibWriter есть что-то аналогичное, т.е. для запуска функции ещё необходим её адрес в библиотеке?
C10, Win10x64
- Игорь Столяров
- Ветеран движения
- Сообщения: 7680
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 68 раз
ATOL драйвер 10.x
Как раз там и не требуется указывать адрес функции в DLL, т.к. он определяется на этапе линковки приложения
и не может быть изменён в процессе работы приложения (статический). Т.е. это другой вариант работы с внешней DLL.
Make Clarion Great Again !
- Игорь Столяров
- Ветеран движения
- Сообщения: 7680
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 68 раз
ATOL драйвер 10.x
На это можно только повторить ответ и надеяться, что Вы его прочитаете …
Давайте дождёмся Админа - и узнаем его мнение.Игорь Столяров писал(а): ↑14 Июль 2019, 20:42Это же сишное объявление для линкования DLL. Можно создать LIB и в Clarion прилинковать вызовы функций из внешней DLL.
Тогда объявления в MAP будут такие же … Например так сделано в проекте XLSXLibWriter, только без DLL программа не запустится.
Make Clarion Great Again !
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.x
Это магия!
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.x
Игорь все верно ответил.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7680
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 68 раз
ATOL драйвер 10.x
Ура ! Значит Игорь не безнадёжен …
А кстати, не пробовали передать в окно настроек параметров ATOL 10 - HANDLE вызывающего окна ?
Вроде бы по описанию - можно.
Чего бы я туда не передавал - всегда ОШИБКА 6 (INTERNAL ERROR).
А кстати, не пробовали передать в окно настроек параметров ATOL 10 - HANDLE вызывающего окна ?
Вроде бы по описанию - можно.
Код: Выделить всё
Open(DWindow)
...
If Atol.FlagLoaded
If Atol.OpenDialog(DWindow{Prop:Handle}) = LIBFPTR_ERROR ! 1 = cancel, LIBFPTR_OK, LIBFPTR_ERROR
MESSAGE(Atol.ErrorDescription(),Atol.ErrorCode())
RETURN
end
end
Make Clarion Great Again !
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.x
Читать тут и пробовать с саппортом на форуме общаться. Попробовал вашу тему. Тоже получается пустая строка.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.x
Тоже не работает.
Но я вообще на это окно не завязывался.
У меня порт и тип аппарата заранее известен и т.д.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4873
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 10 раз
- Поблагодарили: 43 раза
ATOL драйвер 10.x
Это я читал уже. У вас ккм зарегина? Может, все таки от этого зависит. Я уже не удивлюсь.
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4873
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 10 раз
- Поблагодарили: 43 раза
ATOL драйвер 10.x
У меня тоже не взлетело. Если вызывать окно настроек без хэндла, то работает, но оно модальное и открывается на заднем фоне. Кстати, тип ккм можно ставить в автоопределение, если это атоловский аппарат.
C6/C11, ШВС, tps/btrieve.
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.x
Нет. АТОЛ 22 ПТК с чистым накопителем. Для теста.
И да, есть операции которые работаю только на фискализированном ККМ.
К примеру чеки комиссионера.
Да пока без надобности. По сути у нас только АТОЛ 22 ПТК
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса