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 !
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.4.2
Кто нибудь уже трогал?
Не могу получить CSTRING из библиотеки.
Уже все танцы с бубном использовал.
Не могу получить CSTRING из библиотеки.
Уже все танцы с бубном использовал.
Код: Выделить всё
libfptr_create(*LONG fptr),LONG,RAW,PASCAL,PROC
libfptr_error_description(LONG fptr, LONG pValue, LONG lValueSize),LONG,RAW,PASCAL,PROC
...
fptr EQUATE(LONG)
LOC:ResultStr CSTRING(256)
LOC:Size LONG
...
libfptr_create(fptr)
...
!тут какие то действия приводящие к 100% ошибке
...
LOC:Size = libfptr_error_description(fptr, ADDRESS(LOC:ResultStr), SIZE(LOC:ResultStr))
MESSAGE(LOC:Size & ' ' & LOC:ResultStr)
Код: Выделить всё
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_error_description(libfptr_handle handle, wchar_t *value, int size);
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.4.2
Код: Выделить всё
std::vector<wchar_t> errorDescription(32);
int size = libfptr_error_description(fptr, &errorDescription[0], errorDescription.size());
if (size > errorDescription.size())
{
errorDescription.resize(size);
libfptr_error_description(fptr, &errorDescription[0], errorDescription.size());
}
std::wcout << L"Ошибка - "
<< errorCode
<< L" [" << std::wstring(&errorDescription[0]) << L"]"
<< std::endl;
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Дед Пахом
- Старичок
- Сообщения: 3236
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 13 раз
- Поблагодарили: 45 раз
- Контактная информация:
ATOL драйвер 10.4.2
А что это значит?
Там вроде не CSTRING по логике, а STRING, причём в юникоде.
С уважением, ДП
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.4.2
Да спасибо, так и оказалось. До этого пробовал CSTRING в юникоде. Про string что то не подумал.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.4.2
Как обычно поспешил. Все как обычно сишными DLL - CSTRING!
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.4.2
Никто не начал писать под 10 драйвер?
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
ATOL драйвер 10.4.2
Ну если такое объявление:
то думаю, что должно быть такое объявление в кларионе:DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_error_description(libfptr_handle handle, wchar_t *value, int size);
а строку передавать нужно в UTF16.libfptr_error_description(LONG fptr, *STRING pValue, LONG lValueSize),LONG,RAW,C,PROC
C10, Win10x64
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.4.2
Уже все давно решено. Динамическая загрузка и т.д.
Сильно не спешу. Впереди полгода.
Просто спросил может кто уже все сделал
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7680
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 68 раз
ATOL драйвер 10.4.2
Круто ! Подскажете с чего вообще начать работу с ДТО10 ?
Make Clarion Great Again !
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.4.2
Здесь качаем последний драйвер
Распаковываем.
В файле doc\docs.zip отличная документация.
В папке installer\exe берем программу соотв. архитектуре и ставим.
Папку c:\Program Files\ATOL\Drivers10\KKT\bin помещаем в user path
Все процедуры и константы описаны в include\libfptr10.h
Ну и дальше по накатанному:
LoadLibrary('fptr10.dll')
GetProcAddress(...)
и т.д.
Строки как ниже и писалось перед отдачей в драйвер MultiByteToWideChar(1251,...)
После приема из него WideCharToMultiByte(1251,...)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 7680
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 68 раз
ATOL драйвер 10.4.2
Спасибо - направление работ понятно.
Как я понимаю, здесь самое сложное для StartUp - это конвертнуть навороченный сишный libfptr10.h с описаниями
прототипов в кларионовский аналог libfptr10.inc … Знание C у меня конечно есть, но хромает на обе ноги.
Как я понимаю, здесь самое сложное для StartUp - это конвертнуть навороченный сишный libfptr10.h с описаниями
прототипов в кларионовский аналог libfptr10.inc … Знание C у меня конечно есть, но хромает на обе ноги.
Make Clarion Great Again !
- Admin
- Администратор
- Сообщения: 3996
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 46 раз
- Поблагодарили: 26 раз
- Контактная информация:
ATOL драйвер 10.4.2
Нет.
Вот сейчас полдня бьюсь с libfptr_get_param_bytearray, вот это да...
Нужно для составных атрибутов. Ни хрена не работает.
Или уже за день мозг забил.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4873
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 10 раз
- Поблагодарили: 43 раза
ATOL драйвер 10.4.2
А не поддерживается opos драйвер, как в dto8? Вроде в доке написано, что можно создать activeX (ole) объект и работать через него.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7680
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 68 раз
ATOL драйвер 10.4.2
Я вот это место как раз и пробовал в ДТО10 …
Но похоже же что в АТОЛ так интересно называют COM интерфейс, а это совсем другая история.
Make Clarion Great Again !