Страница 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
Игорь Столяров писал(а): 28 Июнь 2019, 8:59самое сложное
Нет.
Вот сейчас полдня бьюсь с 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 интерфейс, а это совсем другая история. :(