Вход | Регистрация

1С:Предприятие ::

Метки: 

компонента com , управляемое приложение тонкий клиент

Я
   erutan
 
14.06.18 - 22:44
Здравствуйте, уважаемые коллеги!

В ходе перехода на ЗУП 3 - не могу понять, как переделать одну внешнюю обработку (по работе со считывателем карт СКУД).

В толстом клиенте - работает. Но как переделать под тонкий? dll на пк и зарегистрирована, считыватель подключен к локальному пк , база на сервере sql
-------------

&НаКлиенте
перем kodos_rd Экспорт;

&НаКлиенте
Процедура ПриОткрытии(Отказ)
        //ПутьКВнешнейКомпоненте = "C:\1\Новая папка\BIN\kodos_rd.dll";

        ПутьКВнешнейКомпоненте = "kodos_rd.dll";
    //"C:\ДрайверАТОЛТСДMobileLogistics.zip";

    #Если ТолстыйКлиентУправляемоеПриложение Тогда


        ЗагрузитьВнешнююКомпоненту (ПутьКВнешнейКомпоненте);
        
    #КонецЕсли

    УстановитьВнешнююКомпоненту(ПутьКВнешнейКомпоненте);
    //Сообщить("Внешняя компонента загружена");    

    //УстановитьВнешнююКомпоненту(ПутьКВнешнейКомпоненте);    

    Рез = ПодключитьВнешнююКомпоненту(ПутьКВнешнейКомпоненте, "kodos_rd", ТипВнешнейКомпоненты.Com);
    Если НЕ Рез Тогда
        Сообщить("не подключено");
        Возврат;
    КонецЕсли;
    kodos_rd = Новый("AddIn.kodos_rd");
    
    имяпорта = "COM6";
    Попытка
        //Открываем последовательный порт

        kodos_rd.ОткрытьПорт(ИмяПорта); 
    Исключение
        //При исключении получаем текст ошибки

        Предупреждение("Ошибка при открытии порта "+ИмяПорта);
        Сообщить(kodos_rd.Ошибка, СтатусСообщения.Внимание); 
    КонецПопытки;

КонецПроцедуры
 
 
   tesseract
 
1 - 15.06.18 - 00:23
Порядок вызова функций нарушен. Функция "ЗагрузитьВнешнююКомпоненту" никогда не будет выполняться из-за директивы компилятора. "УстановитьВнешнююкомоненту" тут не нужен.
   erutan
 
2 - 15.06.18 - 14:16
Спасибо, перепроверил порядок и въехал

&НаКлиенте
перем kodos_rd Экспорт;

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ПутьКВнешнейКомпоненте = "kodos_rd.dll";

    //#Если ТолстыйКлиентУправляемоеПриложение Тогда


        //ЗагрузитьВнешнююКомпоненту (ПутьКВнешнейКомпоненте);

        
    //#КонецЕсли

    //УстановитьВнешнююКомпоненту(ПутьКВнешнейКомпоненте);

    //НачатьУстановкуВнешнейКомпоненты(,ПутьКВнешнейКомпоненте);

    //Рез = ПодключитьВнешнююКомпоненту(ПутьКВнешнейКомпоненте, "kodos_rd", ТипВнешнейКомпоненты.Com);

    ProgID = ("AddIn.kodos_rd");
    ПодключитьВнешнююКомпоненту(ProgID);
    //Если НЕ Рез Тогда

    //    Сообщить("не подключено");

    //    Возврат;

    //КонецЕсли;

    //kodos_rd = Новый("AddIn.kodos_rd");

    
    kodos_rd = новый(ProgID);
    
    имяпорта = "COM6";
    Попытка
        //Открываем последовательный порт

        kodos_rd.ОткрытьПорт(ИмяПорта); 
    Исключение
        //При исключении получаем текст ошибки

        Предупреждение("Ошибка при открытии порта "+ИмяПорта);
        Сообщить(kodos_rd.Ошибка, СтатусСообщения.Внимание); 
    КонецПопытки;

КонецПроцедуры


Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует