Имя: Пароль:
1C
1С v8
Подключение внешней компоненты
0 mzelensky
 
12.04.13
13:51
Доброго всем!
Бьемся с подключеним внешней компоненты и что-то немного я не догоняю.

Есть метод  ПодключитьВнешнююКомпоненту(), а есть ЗагрузитьВнешнююКомпоненту()

Почитал инет, как понял лучше использовать "ПодключитьВнешнююКомпоненту()" (типа как-то иначе регает саму ДЛЛ-ку).

Пишу код:

   Если ПодключитьВнешнююКомпоненту("Test1.dll","ES" ) тогда
       Об = Новый("AddIn.ES.Test1");
       
       рез=Об.MessageBox("123");
   КонецЕсли;

В результате условие отрабатывается в "истина" (подключение проходит), но при "Об = Новый("AddIn.ES.Test1");" вылетает с ошибкой "неверный тип"

Ниже делаю так:

ЗагрузитьВнешнююКомпоненту("C:\Program Files (x86)\1cv82\8.2.16.362\bin\Test1.dll");
   COMПорт = Новый ("AddIn.Test1");
   рез=COMПорт.MessageBox("123");

И все отрабатывает нормально!!!

Почему первый вариант не работает?!
1 mzelensky
 
12.04.13
14:03
апну
2 mzelensky
 
12.04.13
14:56
&&&
3 AaNnDdRrEeYy
 
12.04.13
15:33
Как ты ее регистрировал? regsvr32 или как?
4 mzelensky
 
15.04.13
09:17
(3) через "RegAsm.exe", а точнее батником с текстом:

regasm ExpSolve.dll /tlb
pause
5 mzelensky
 
15.04.13
10:07
что, никто не имел дело с внешними компонентми?!
6 Defender aka LINN
 
15.04.13
10:13
(4) А теперь еще раз прочитай (3)
7 mzelensky
 
15.04.13
10:24
(6) а если у меня система 64-битка?!
8 бомболюк
 
15.04.13
10:34
а ниче что в рабочем варианте ProgID = "AddIn.Test1" а в нерабочем "AddIn.ES.Test1"?
9 mzelensky
 
15.04.13
10:37
(8) это мы меняли в ходе "корректировки" самой ДЛЛ-ки. Естественно в обоих случаях я писал ProgID одинаковый.