|
ПодключитьВнешнююКомпоненту(): на сервере подключается, но не создаётся... | ☑ | ||
---|---|---|---|---|
0
dave2000
20.11.15
✎
18:35
|
Платформа 8.3.5.1068, файловая база, управляемые формы.
Компонента, написанная под COM, на клиенте работает нормально, подключалась так: Если ПодключитьВнешнююКомпоненту("AddIn.MyComponent") Тогда Компонента = Новый("AddIn.MyComponent"); КонецЕсли; Понадобилось перенести её в серверный модуль для регламентного задания. Делаю так: Если ПодключитьВнешнююКомпоненту("d:\MyComponent.dll", "MyComponent", ТипВнешнейКомпоненты.COM) Тогда Попытка Компонента = Новый("AddIn.MyComponent"); Исключение СтрОшибка = ОписаниеОшибки(); КонецПопытки; КонецЕсли; Не хочет работать, срабатывает исключение: СтрОшибка="Тип не определен (AddIn.MyComponent)" Как его заставить работать? |
|||
1
dave2000
20.11.15
✎
18:36
|
Компонента написана на C#
|
|||
2
mehfk
20.11.15
✎
18:37
|
Описание варианта метода:
Компонент должен быть выполнен по технологии COM и зарегистрирован в реестре MS Windows. Эти компоненты совместимы с компонентами 1С:Предприятия 7.7. Внимание! Вариант метода не работает на сервере и во внешнем соединении. |
|||
3
mehfk
20.11.15
✎
18:38
|
Сторно (2)
|
|||
4
Serginio1
20.11.15
✎
18:42
|
(0) Зачем тебе ВК на сервере?
|
|||
5
VikingKosmo
20.11.15
✎
18:43
|
(4) ну например ВК используется в контексте фонового задания
|
|||
6
H A D G E H O G s
20.11.15
✎
18:44
|
Компонента = Новый("AddIn.MyComponent.MyComponent");
|
|||
7
Garykom
гуру
20.11.15
✎
18:46
|
(6) только хотел это написать
|
|||
8
Serginio1
20.11.15
✎
18:47
|
(5) Это понятно. ВК это обычно получение глобального контекста и вызов внешних событий через IAsyncEvent
Хватит и простог Com Объекта |
|||
9
Garykom
гуру
20.11.15
✎
18:51
|
(8) на сервере под линукс ))
|
|||
10
Serginio1
20.11.15
✎
18:54
|
(9) Угу
ПодключитьВнешнююКомпоненту("d:\MyComponent.dll", "MyComponent", ТипВнешнейКомпоненты.COM) |
|||
11
dave2000
20.11.15
✎
19:15
|
(6) Спасибо, создать получилось!
А почему нужно именно "AddIn.MyComponent.MyComponent"? Ведь в самой компоненте указано просто [ProgId("AddIn.iTouch")] |
|||
12
H A D G E H O G s
20.11.15
✎
19:16
|
(11) Ты префикс задал
ПодключитьВнешнююКомпоненту("d:\MyComponent.dll", "MyComponent", ТипВнешнейКомпоненты.COM) Тогда 2 параметром |
|||
13
dave2000
20.11.15
✎
19:16
|
ой, т.е. [ProgId("AddIn.MyComponent")]
|
|||
14
dave2000
20.11.15
✎
19:18
|
(12) Т.е. сначала указываем то, что прописано в компоненте (AddIn.ИмяКомпоненты), а потом через точку то имя, которое я задал при ПодключитьВнешнююКомпоненту(,Имя)?
|
|||
15
Смотрящий
20.11.15
✎
19:20
|
Да
|
|||
16
Serginio1
20.11.15
✎
19:21
|
(0) Кстати у меня к тебе такой вопрос. Динамическая компиляция для использования .Net событий в 1С
позволяет вообще отказаться от написания ВК. Почему ты не хочешь воспользоваться ей |
|||
17
Смотрящий
20.11.15
✎
19:23
|
(16) Нативный код и псевдонативный код меняющийся от релиза к релизу.
Разницу чуешь ? |
|||
18
Serginio1
20.11.15
✎
19:27
|
(17) Нет. У него Компонента написана на C#.
В .Net 4.6 вызывается код написанный на .Net 2.0. А конечный машинный код совершенствуется от версии к версии |
|||
19
Смотрящий
20.11.15
✎
19:29
|
(18) ... вызывается код написанный на .Net 2.0...
Да?! Чем докажешь ? |
|||
20
Serginio1
20.11.15
✎
19:36
|
(19) Да сколько раз подгружал DLL написанных на старых версиях.
https://msdn.microsoft.com/ru-ru/library/jj152935(v=vs.110).aspx |
|||
21
Serginio1
20.11.15
✎
19:43
|
||||
22
dave2000
20.11.15
✎
20:50
|
(16) За это не слышал, интересно почитать, спасибо за статейки!
|
|||
23
Serginio1
20.11.15
✎
21:12
|
(22) У меня их много http://catalog.mista.ru/profile/82159/public/
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |