![]() |
![]() |
![]() |
|
Технология создания вн. компоненты...нужна помощь Ø |
☑ | ||
---|---|---|---|---|
0
alexxey
17.02.05
✎
19:47
|
Народ пытаюсь разобраться с технологией создания ВК для 1С
Использую технологию создания ВК от 1С, а именно для VB.net в приведенной 1С конфе с использованием их библиотек - все отлично работает, но если я сам компилирую их же библиотеку Addin.dll, то при вызове ЗагрузитьВнешнююКомпоненту("AddIn.dll") программа выдает ошибку В чем может быть проблема? |
|||
1
АЛьФ
17.02.05
✎
19:49
|
Права?
|
|||
2
alexxey
17.02.05
✎
19:54
|
Какие права?
|
|||
3
alexxey
17.02.05
✎
19:58
|
Библиотка вроде бы создается все ок...правда смущает файл Interop.AddInLib.dll он создается все время с одной и той же датой 09.2003
AddinLib я добавляю в reference из файла Addin.tbl который также идет на диске "Технология создания ВК" |
|||
4
АЛьФ
17.02.05
✎
20:19
|
Какую ошибку-то выдает?
|
|||
5
alexxey
17.02.05
✎
20:21
|
{Обработка.ПримерРаботыСКомпонентой.Форма.ФормаРаботыСКомпонентой(67)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты
ЗагрузитьВнешнююКомпоненту("Addin.dll"); |
|||
6
АЛьФ
17.02.05
✎
20:22
|
2(5) V8?
|
|||
7
alexxey
17.02.05
✎
20:23
|
ДА
|
|||
8
alexxey
17.02.05
✎
20:27
|
Как я понял для vb.net нужно в каталог 1cv8\bin скопировать 2 dll - AddIn и Interop.AddInLib
Так вот если я с диска их копирую, тут все ОК - работает А если запускаю Visual Studio .Net и делаю там Build AddIn, то при копировании получившихся AddIn и Interop.AddInLib в 1cv8\bin выдается такая ошибка. Как я уже говорил Interop.AddInLib.dll создается один в тем по дате создания с тем что лежит на диске от 1С, т.е. 12.09.2003 |
|||
9
alexxey
17.02.05
✎
20:29
|
Извиняюсь конец (8) такой: Interop.AddInLib.dll создается один в один по дате создания с тем что лежит на диске от 1С, т.е. 12.09.2003
|
|||
10
Эстет хренов
17.02.05
✎
20:33
|
там в настройках солюшена директория скомпилированной dll указана явно, замени на defaults
|
|||
11
alexxey
17.02.05
✎
20:38
|
(10)Чего-то не найду где тут директория скомпилированной dll указывается
|
|||
12
Эстет хренов
17.02.05
✎
20:40
|
Project-Options-Linker-Output files
|
|||
13
alexxey
17.02.05
✎
20:40
|
Да вот еще что заметил - почему получающаяся после компиляции dll гораздо меньше по размеру чем 1с-овская
|
|||
14
alexxey
17.02.05
✎
20:43
|
У меня dll создается в каталоге bin который также автоматом создается в каталоге, где лежит проект vb
|
|||
15
alexxey
17.02.05
✎
20:50
|
так с размером вроде разобрался - стояла галка типа оптимизация при компиляции, но все равно не работает :(
|
|||
16
alexxey
18.02.05
✎
10:32
|
up!
|
|||
17
Gloom
18.02.05
✎
10:36
|
Как у тебя класс, реализующий интерфейс IInitDone называется?
|
|||
18
alexxey
18.02.05
✎
10:41
|
AddInObj
вот кусок кода: Public Class AddInObj Implements AddInLib.IInitDone Implements AddInLib.ILanguageExtender |
|||
19
Gloom
18.02.05
✎
10:43
|
(18)Тогда сборка должна тоже называться AddInObj.dll...
|
|||
20
alexxey
18.02.05
✎
10:53
|
а почему?
|
|||
21
Gloom
18.02.05
✎
10:57
|
(20)При вызове ЗагрузитьВнешнююКомпоненту() 1цэ пытается получить ProgID COM-объекта из ресурсов, а если не может, то по имени dll.
И поскольку у .Net сборок формат ресурсов другой, нежели у обычных dll, то см. (19)... |
|||
22
alexxey
18.02.05
✎
11:01
|
Я понял...спасибо - заработало :-))
а если я буду вызавать ПодключитьВнешнююКомпоненту(ProgID)? в этом случае может имя класса отличаться от имени библиотеки? |
|||
23
Gloom
18.02.05
✎
11:04
|
(22)Само собой...
|
|||
24
alexxey
18.02.05
✎
11:05
|
Ясно...еще раз огромное спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |