Подключение внешней компоненты
☑
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 одинаковый.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший