Страница 1 из 31
ATOL драйвер 10.x
Добавлено: 18 Январь 2019, 10:36
Admin
Кто нибудь уже трогал?
Не могу получить 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)
ATOL драйвер 10.4.2
Добавлено: 18 Январь 2019, 10:41
Admin
Код: Выделить всё
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_error_description(libfptr_handle handle, wchar_t *value, int size);
ATOL драйвер 10.4.2
Добавлено: 18 Январь 2019, 10:42
Admin
Код: Выделить всё
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;
ATOL драйвер 10.4.2
Добавлено: 18 Январь 2019, 12:03
Дед Пахом
А что это значит?
Admin писал(а): ↑18 Январь 2019, 10:36Не могу получить CSTRING из библиотеки.
Там вроде не CSTRING по логике, а STRING, причём в юникоде.
ATOL драйвер 10.4.2
Добавлено: 21 Январь 2019, 3:16
Admin
Дед Пахом писал(а): ↑18 Январь 2019, 12:03STRING, причём в юникоде
Да спасибо, так и оказалось. До этого пробовал CSTRING в юникоде. Про string что то не подумал.
ATOL драйвер 10.4.2
Добавлено: 21 Январь 2019, 5:16
Admin
Как обычно поспешил. Все как обычно сишными DLL - CSTRING!
ATOL драйвер 10.4.2
Добавлено: 26 Июнь 2019, 15:41
Admin
Никто не начал писать под 10 драйвер?
ATOL драйвер 10.4.2
Добавлено: 26 Июнь 2019, 16:12
vic7tar
Ну если такое объявление:
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_error_description(libfptr_handle handle, wchar_t *value, int size);
то думаю, что должно быть такое объявление в кларионе:
libfptr_error_description(LONG fptr, *STRING pValue, LONG lValueSize),LONG,RAW,C,PROC
а строку передавать нужно в UTF16.
ATOL драйвер 10.4.2
Добавлено: 26 Июнь 2019, 16:23
Admin
vic7tar писал(а): ↑26 Июнь 2019, 16:12Ну если такое объявление
Уже все давно решено. Динамическая загрузка и т.д.
Сильно не спешу. Впереди полгода.
Просто спросил может кто уже все сделал
ATOL драйвер 10.4.2
Добавлено: 26 Июнь 2019, 19:53
Игорь Столяров
Admin писал(а): ↑26 Июнь 2019, 16:23Уже все давно решено. Динамическая загрузка и т.д.
Круто ! Подскажете с чего вообще начать работу с ДТО10 ?
ATOL драйвер 10.4.2
Добавлено: 27 Июнь 2019, 1:59
Admin
Игорь Столяров писал(а): ↑26 Июнь 2019, 19:53С чего вообще начать работу с ДТО10
Здесь качаем последний драйвер
Распаковываем.
В файле 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,...)
ATOL драйвер 10.4.2
Добавлено: 28 Июнь 2019, 8:59
Игорь Столяров
Спасибо - направление работ понятно.
Как я понимаю, здесь самое сложное для StartUp - это конвертнуть навороченный сишный libfptr10.h с описаниями
прототипов в кларионовский аналог libfptr10.inc … Знание C у меня конечно есть, но хромает на обе ноги.
ATOL драйвер 10.4.2
Добавлено: 28 Июнь 2019, 10:01
Admin
Нет.
Вот сейчас полдня бьюсь с libfptr_get_param_bytearray, вот это да...
Нужно для составных атрибутов. Ни хрена не работает.
Или уже за день мозг забил.
ATOL драйвер 10.4.2
Добавлено: 28 Июнь 2019, 19:24
finsoftrz
А не поддерживается opos драйвер, как в dto8? Вроде в доке написано, что можно создать activeX (ole) объект и работать через него.
ATOL драйвер 10.4.2
Добавлено: 28 Июнь 2019, 20:45
Игорь Столяров
finsoftrz писал(а): ↑28 Июнь 2019, 19:24что можно создать activeX (ole)
Я вот это место как раз и пробовал в ДТО10 …
Но похоже же что в АТОЛ так интересно называют COM интерфейс, а это совсем другая история.