Имя: Пароль:
1C
1С v8
Подключение внешней компоненты x64 НаСервере
0 higelios
 
23.11.12
12:25
Собственно написал компоненту для 1С 8.2 по технологии Native Api. Скомпилировал две версии, AddInNative64.dll и AddInNative32.dll. Создал MANIFEST.XML следующего содержания:
<?xml version="1.0" encoding="UTF-8" ?>

<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle">
   <component os="Windows" path="AddInNative32.dll" type="native" arch="i386"/>
   <component os="Windows" path="AddInNative64.dll" type="native" arch="x86_64"/>
</bundle>

Запаковал эти три файла в zip.
Загрузил в виде двоичных данных в общий макет конфигурации.
Сервер 1С x64.
Далее попытался подключить внешнюю компоненту.
Если добавить код подключения во внешнюю обработку и запускать под толстым клиентом то всё собственно работает как нужно. А вот если подключать компоненту из модуля конфигурации(флаги "Сервер", "Вызов сервера"), ничего не получается. Пробовал также указавать путь к AddInNative64.dll вместо макета. Такая же история. Что же может быть не так?
1 loh_pedalny
 
23.11.12
12:32
дык, как вызов сервера завершается - компонента и выгружается :)
2 loh_pedalny
 
23.11.12
12:33
(1)+может еще безопасный режим включен
3 higelios
 
23.11.12
12:38
(1) Только "Сервер" оставить? Сейчас попробую.
(2) Нет, это в данном модуле нету.
4 loh_pedalny
 
23.11.12
12:43
(3) компонента живет на сервере ровно столько, сколько идет вызов сервера. Или ты хочешь ее подключить и шоб она там постоянно висела?
5 higelios
 
23.11.12
12:52
(4)Именно это и хотел сделать.
6 higelios
 
23.11.12
12:53
(4) Кстати. Дык она кстати не подключается даже.. То бишь не успела родится;). ПодключитьВнешнююКомпоненту() ложь возвращает.
7 higelios
 
23.11.12
12:57
Может в типовых кто встречал подобную реализацию?
8 higelios
 
23.11.12
13:03
Мало того что Native API та еще штучка, так ещё такие траблы с подключением. Как же выйти из положения. У меня например выполняется фоновое задание которое должно использовать мою компоненту, как же быть? Наверняка же кто-то делал нечто похожее.
9 higelios
 
23.11.12
13:34
Ау..
10 Serginio1
 
23.11.12
13:40
(9) Зачем на сервере внешняя компонента. Там прекрасно живут простые IDispatch ные комы. IAsyncEvent,AppDispatch тебе не нужны.
11 higelios
 
23.11.12
13:46
(10) А если сервер на линуксе появится? Да и вообще странный вопрос.. Технология внешних компонент вроде и создана чтобы не использовать комы. Хотя в процессе разработки я усомнился.. Технология Native Api сыра и неудобна, а также медленна.. Но суть то не в этом. Есть компонента и судя по документации, её можно подключить На сервере. Вот только как?
12 Serginio1
 
23.11.12
14:34
ТВК прежде всего нужна для обработки внешнего события, получать текущий AppDispatch, хэндлы окон, статусной строке, что нужно на клиенте. А использование ВК на сервере вместо комов это извращение. Хотя наверняка для линукса существует свой Idispatch. Реализовывать ILanguageExtender еще то извращение.
13 Serginio1
 
23.11.12
15:43
Ну вообще то у народа работает
http://forum.infostart.ru/forum26/topic68399/message741930/#message741930

Нужно смотреть, что внутри и к чему обращается
14 Serginio1
 
23.11.12
15:44
Программист всегда исправляет последнюю ошибку.