|  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, 14:33 | #10 | 
| MCTS | 
			
			на производителя бы не надеялся...   Вот например пользуюсь для этой цели Dependency Walker | 
|  | 
|  22.12.2006, 14:39 | #11 | 
| сибиряк | 
			
			Да нет, кстати. Вроде нареканий не было. Кстати, спасибо George Nordic за своевременную подсказку, когда были проблемы с терминалом
		 
				__________________ С уважением, Вячеслав. | 
|  | 
|  22.12.2006, 14:58 | #12 | 
| Участник | 
			
			Дико извиняюсь, но каким образом он может дать описиние функций и список их параметров?
		 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  | 
|  22.12.2006, 15:18 | #13 | 
| MCTS | 
			
			Дико прощаю   , но про параметры вроде ничего не говорил, или у меня склероз? | 
|  | 
|  22.12.2006, 15:21 | #14 | 
| Участник | 
			
			Или вы под описанием функций имеете в виду что-то другое?
		 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  | 
|  22.12.2006, 15:47 | #15 | 
| MCTS | 
			
			все доступные функции
		 | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| «Обрезание» длинных штрих-кодов | 7 | |||
| Подвисает сканер штрих-кодов | 0 | |||
| AX 4.0 + сканеры штрих кодов | 11 | |||
| Нужен совет по сканеру штрих-кодов | 5 | |||
| Еще раз о подключении сканнера штрих кодов | 43 | |||
| 
 |