|
22.12.2006, 12:03 | #1 |
Участник
|
Еще раз про сканеры штрих кодов
доброго дня
вопрос. есть терминал сбора данных CipherLab 8001. купили. нашёл dll с функциями для работы с ним. даже пример для аксапты есть. но. не работает. com порт открывает, но далее ничего. даже не проходит функция ping призванная определить, подключен ли ТСД к порту. стандартная программа считывания данных из него работает, т.е. дело не в неработающем порте. если у кого был опыт подключнеия/использования ТСД в аксапте, поделитесь. спасибо. |
|
22.12.2006, 12:22 | #2 |
MCTS
|
Вот только недавно подключал ККМ. Покажи код
|
|
22.12.2006, 12:43 | #3 |
сибиряк
|
X++: Boolean getDataFromScaner() { boolean error; DLL dll = new DLL('stdCipherLab'); DLLFunction func; boolean ret; int res; real rr; int a; Binary b;// = new Binary(res); str st1, st2, st3, st4, st5, st6, st7, st8, errSt; Binary struct1 = new Binary(4), struct2 = new Binary(4), struct3 = new Binary(4), struct4 = new Binary(4), struct5 = new Binary(4), struct6 = new Binary(4), struct7 = new Binary(4), struct8 = new Binary(4), err = new Binary(4); boolean currentState; ASCIIIO file; ; if (AA_TradeSetup::find(winapi::getComputerName())) { file = new ASCIIIO("c:\\scanerData.txt", "W"); file.write(""); func = new DLLFunction(dll, 'stdCheckComm'); func.arg(); func.call(); /* func = new DLLFunction(dll, 'stdCloseComm'); func.arg(); res = func.call(); */ func = new DLLFunction(dll, 'stdOpenComm'); func.returns(ExtTypes::DWord); func.arg(ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord);//, ExtTypes::DWord); res = func.call(AA_TradeSetup::find(winapi::getComputerName()).TSDPort, AA_TradeSetup::find(winapi::getComputerName()).TSDSpeed, 1); if (res) { func = new DLLFunction(dll, 'stdGetCurrentState'); func.returns(ExtTypes::DWord); func.arg();// currentState = func.call(); if (currentState) { func = new DLLFunction(dll, 'stdGetDataCount'); func.returns(ExtTypes::DWord); func.arg(ExtTypes::DWord); rr = func.call(0); if (rr) { func = new DLLFunction(dll, 'stdDocToFile'); func.returns(ExtTypes::DWord); func.arg(ExtTypes::DWord, ExtTypes::String); res = func.call(0,'c:\\scanerData.txt'); func = new DLLFunction(dll, 'stdGetDataCount'); func.returns(ExtTypes::DWord); func.arg(ExtTypes::DWord); rr = func.call(0); if (rr) { func = new DLLFunction(dll, 'stdClearDoc'); func.returns(ExtTypes::DWord); func.arg(ExtTypes::DWord); res = func.call(0); } func = new DLLFunction(dll, 'stdCloseComm'); func.returns(ExtTypes::DWord); func.arg(); res = func.call(); dll.finalize(); } // if rr else { func = new DLLFunction(dll, 'stdCloseComm'); func.returns(ExtTypes::DWord); func.arg(); res = func.call(); dll.finalize(); } } else { Info(strfmt('%1', (currentState ? "Готов к работе" : "Не в режиме главного меню"))); // slava return false; // Alex, 09/02-06 --> } } else { Info(strfmt('%1', "Не могу открыть порт")); // slava return false; // Alex, 09/02-06 --> } } return true; }
__________________
С уважением, Вячеслав. |
|
22.12.2006, 13:15 | #4 |
MCTS
|
не совсем понятно зачем используете DLL. Можно ведь через COM объекты. На какую почту высылали класс?
|
|
22.12.2006, 13:20 | #5 |
Злыдни
|
|
|
22.12.2006, 13:25 | #6 |
сибиряк
|
Исторически сложилось
__________________
С уважением, Вячеслав. |
|
22.12.2006, 14:08 | #7 |
MCTS
|
а проверяли что возвращают каждые new DLLFunction(dll, 'stdOpenComm');
Узнайте где результат не вернется |
|
22.12.2006, 14:11 | #8 |
MCTS
|
какой программой получали описания функций в библиотеке?
|
|
22.12.2006, 14:24 | #9 |
сибиряк
|
Цитата:
Не работает, почему-то, у автора темы. Был текстовый файл с описанием вызовов, скачивал с сайта производителя.
__________________
С уважением, Вячеслав. |
|
22.12.2006, 15:21 | #10 |
Участник
|
Или вы под описанием функций имеете в виду что-то другое?
__________________
Axapta v.3.0 sp5 kr2 |
|
22.12.2006, 14:33 | #11 |
MCTS
|
на производителя бы не надеялся... Вот например пользуюсь для этой цели Dependency Walker
|
|
22.12.2006, 14:39 | #12 |
сибиряк
|
Да нет, кстати. Вроде нареканий не было. Кстати, спасибо George Nordic за своевременную подсказку, когда были проблемы с терминалом
__________________
С уважением, Вячеслав. |
|
22.12.2006, 14:58 | #13 |
Участник
|
Дико извиняюсь, но каким образом он может дать описиние функций и список их параметров?
__________________
Axapta v.3.0 sp5 kr2 |
|
22.12.2006, 15:18 | #14 |
MCTS
|
Дико прощаю , но про параметры вроде ничего не говорил, или у меня склероз?
|
|
22.12.2006, 15:47 | #15 |
MCTS
|
все доступные функции
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
«Обрезание» длинных штрих-кодов | 7 | |||
Подвисает сканер штрих-кодов | 0 | |||
AX 4.0 + сканеры штрих кодов | 11 | |||
Нужен совет по сканеру штрих-кодов | 5 | |||
Еще раз о подключении сканнера штрих кодов | 43 |
|