|
ПодключитьВнешнююКомпоненту COM в тонком клиенте &НаСервере | ☑ | ||
---|---|---|---|---|
0
Hussein
19.09.12
✎
11:24
|
Собственно, не грузится. В толстом клиенте COM грузится, Native компонента грузится везде, &НаКлиенте COM грузится, &НаСервере в тонком -никак.
Код Если ПодключитьВнешнююКомпоненту("d:\Projects\Addin82_2\Addin.dll","AddinTest",ТипВнешнейКомпоненты.COM) Тогда //всегда ложь //бла-бла-бла КонецЕсли; |
|||
1
qeos
19.09.12
✎
11:36
|
путь доступен?
|
|||
2
Hussein
19.09.12
✎
11:48
|
Есс-но. &НаКлиенте грузится но проблем. Не устраивает, что в тонком клиенте &На Клиенте недоступен объект Запрос.
|
|||
3
hhhh
19.09.12
✎
11:48
|
(0) а точно на сервере есть эта папка? d:\Projects\Addin82_2\Addin.dll
|
|||
4
qeos
19.09.12
✎
11:51
|
запутал
|
|||
5
Hussein
19.09.12
✎
11:55
|
На одной машине все, файловый вариант 8.2.16.352 платформа
Я же говорю - форма, на ней 2 кнопки , по одной &НаКлиенте, по второй &НаСервере |
|||
6
Hussein
19.09.12
✎
12:54
|
Тесты показали :
Слухи о совместимости компонент разных версий сильно преувеличены. Брал диск ИТС. Все проекты компилировал БЕЗ изменений VNCOMP\V8\DELPHI5\SAMPLE - приводит к краху системы. Собиралось на Delphi7 и XE2 VNCOMP82\example\COM - ГРУЗИТСЯ!!! Собирал под VC2010 Остальные компоненты 7.7 просто не грузятся(проверял всякие от 7.7), может ,что и пропустил. Разумеется, все проверялось &НаСервере тонкий клиент. |
|||
7
zladenuw
19.09.12
✎
12:58
|
(2) так верни то что тебе надо с сервера. или в чем проблема ?
|
|||
8
Hussein
19.09.12
✎
13:45
|
Куда вернуть?
Покажи пример, плизззз. |
|||
9
zladenuw
19.09.12
✎
13:50
|
куда куда. на клиент. подсказка. функция с возвратом нужного.
|
|||
10
Hussein
19.09.12
✎
13:53
|
Ну да, ну да.
Чтобы запедалить в ВК что-нить, мне хватит и NativeAPI. А вот создать в ВК объект 1С (например, Запрос) уже не получится. Можно, конечно ограничить пользователя - ЗАПУСК ТОЛЬКО В ТОЛСТОМ!!! НО как-то это не кошерно.... ))) |
|||
11
Птах
19.09.12
✎
13:57
|
Нах тебе ВК? (9) Имеет в виду, что тебе надо напейсать серверную функцию, которая будет выполнять нужный тебе запрос по переданным параметрам и возвращать результат.
Ну или делай и СОМ-соединение на сервере. |
|||
12
zladenuw
19.09.12
✎
13:59
|
(11) зачем. пусть ком живет на клиенте. если ему так надо. и то проблема в нем. что если его долго не использовать оно теряется.... где то была статья как подержать ком на тонком с помощью временного хранилища
|
|||
13
Serginio1
19.09.12
✎
13:59
|
Сервер 64 разрядный?
|
|||
14
Птах
19.09.12
✎
14:02
|
(11) Сорь, невнимательно читал тему. Суть однако не меняется - зачем выдумывать велосипед и выполнять запросы 1с в ВК?
|
|||
15
Fram
19.09.12
✎
14:06
|
(13) смотри (5). ключевое слово "файловый"
|
|||
16
Hussein
19.09.12
✎
14:09
|
Самый продуктивный диалог:
- Как сделать то-то? - А нах оно тебе надо? Шутка А если серьезно, еще раз говорю - надо ИМЕННО &НаСервере(Это ДИРЕКТИВА!!!) и ИМЕННО в Тонком Клиенте. Поверьте, я знаю , как выполнить процедуру(функцию) на сервере и вернуть результат. Но надо ИМЕННО так. (11) COM соединение на сервере создаст ишо один процесс, а нам ето не нать. А если имеете в виду Внешнюю компоненту COM, так я про это и спрашиваю. Только надо чтобы она как минимум работала в Толстом и Тонком (Веб не берем пока ;-))) |
|||
17
Hussein
19.09.12
✎
14:12
|
(12) Не надо запросы. Надо например, что-нибудь типа Справочника ))). Только не элемента, а Справочника как сущности 1С. Как-то так.... Ну или еще какой объект, а не ДанныеФормыСтруктура....
|
|||
18
zladenuw
19.09.12
✎
14:15
|
(17) а в чем проблема с данныеформыструктура преобразовать на сервере в то что тебе надо. и в директиве на сервере. доступны запросы и Справочник.Мой.
|
|||
19
Hussein
19.09.12
✎
14:20
|
(17)
НЕ УСТАНУ ПОВТОРЯТЬ. Я именно этого и хочу. Но На сервере не грузится ВК! См.(0) Я Не про данные формы толкую, а про то ,что доступ к объектам 1С в УФ возможен ТОЛЬКО на Сервере. И еще. Все-таки тест на Visual Studio загрузился... Значит, можно!!! Жаль что проекты на Delphi... Сижу сравниваю проекты на С и Delphi...((( |
|||
20
zladenuw
19.09.12
✎
14:25
|
а загрузить не пробовал ? ЗагрузитьВнешнююКомпоненту(<ИмяФайла>)
|
|||
21
qeos
19.09.12
✎
14:33
|
(10) Чтобы запедалить в ВК что-нить, мне хватит и NativeAPI.
А вот создать в ВК объект 1С (например, Запрос) уже не получится. все верно объекта Запрос нету на токном клиенте &НаКлиенте |
|||
22
qeos
19.09.12
✎
14:35
|
и эта.. заведи бложек про xe2 и 1с
|
|||
23
qeos
19.09.12
✎
14:36
|
+ пробовал на тонком клиенте, но может поможет это http://qeos.ru/?page=COM_napisannyi_na_DelphiXE2_dlya_1C&nav=1
|
|||
24
Hussein
19.09.12
✎
15:03
|
(23) Большое спасибо!
Я пришел к тому же, но через (..) через сравнение TypeLib от VC2010 и от XE2. Про бложек подумаю, в принципе есть что сказать(например по WideString - повозиться пришлось). |
|||
25
qeos
19.09.12
✎
15:04
|
(24) а xe2 по умолчанию winde, не?
|
|||
26
Hussein
19.09.12
✎
15:19
|
(25) Да, но компоненты были старые - раз, библиотека WinSock возвращает и принимает только ANSIString - два, ну и еще по мелочи - размер указателя на Char и прочее.
Я посмотрел ссылку. Это COM и такая штука у меня работает- SIP телефон на ActiveX в 1С. Проблема возникает при обработке событий - тонкий не нюхает Events от COM. Если есть другая инфа - плиз в студию. А мне надо AppDispatch получить. Вот. |
|||
27
Hussein
20.09.12
✎
08:11
|
Проблема не решена, но замазана. )))
Переписал компоненту на VC2010. Работает. Тема по написанию полноценных COM компонент на Delphi остается открытой. |
|||
28
Serginio1
20.09.12
✎
12:37
|
Если через КОМ то я уже лет девять использую
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=115&lid=2019 Исходник ВК которая загружает Объект Автоматизации поддерживающий ITypeInfo и выполняет все его свойства и методы через IlanguageExtender. |
|||
29
Rebelx
20.09.12
✎
12:41
|
(0) а про синтаксис-помощник уже было?
Описание варианта метода: Компонента должна быть выполнена по технологии COM и зарегистрирована в реестре MS Windows. Эти компоненты совместимы с компонентами 1С:Предприятия 7.7. Внимание! Вариант метода не работает на сервере и во внешнем соединении. |
|||
30
Rebelx
20.09.12
✎
12:46
|
(29) т.е. есть какие-то трудности с COM на сервере. хотя и должно теоретически работать при указании пути к библиотеке.
Но в свете 8.3 как-то не кошерно использовать COM |
|||
31
Serginio1
20.09.12
✎
13:00
|
(30) Почему? В свете развития Net COM использовать еще проще чем Native API. Либо придется делать компоненты которые и будут вызывать этот же СОМ из Native API.
Тем более, что библиотеки на Net прекрасно работают как род 32 так и по 64 разрядные ОС. Тот кто хочет мучаться с не видовс ОС это уже их проблемы. Почему другие должны мучаться? |
|||
32
Hussein
20.09.12
✎
15:23
|
(29) Выдернуто из контекста справки.
Речь идет о подключении в Варианте ПодключитьВнешнююКомпоненту(<ИдентификаторОбъекта>) . А я его и не использую. |
|||
33
Hussein
20.09.12
✎
15:31
|
(30)
Клиент и сервер находятся на одной машине. Трудностей НЕТ. Все зарегистрировано. Может быть, за исключением того, что при загрузке 1С ищет регистрацию сначала в ветке реестра HKCU\Software\CLSID (проверено Procmon), но все равно прописывает собственную регистрацию в реестре. Кто не верит , в CLSID найдите регистрацию своей компоненты, там значение по умолчанию "V8 Addon 2.0" и оно перезаписывается каждый раз. Также (не знаю зачем) 1С прописывает в реестре регистрацию интерфейса IPropertyPage с указанием ProgID на загружаемую ВК. Кстати, ветка HKCU\Software\CLSID в Windows XP, ЕМНИП, указывает на HKCR (могу ошибаться), а в WIn7 (у меня) там какая-то шняга лежит. |
|||
34
Hussein
20.09.12
✎
15:33
|
(28)
Я тоже использовал в 7. Речь идет про: 1. 8.2 2. УФ 3. &НаСервере |
|||
35
Hussein
20.09.12
✎
15:35
|
Кстати, проверил - Процедура Выполнить(Строка) NOT Supported by authomation object. (((
Пичалька.... |
|||
36
Serginio1
20.09.12
✎
17:47
|
Я ее использовал и в 8 ке правда на клиенте.
А зачем тебе ВК на сервере? В основном то нужно ради эвентов. А они на сервере не нужны. А аппдиспатч тоже не особо нужен, т.к. можно подключиться через COMConnector. |
|||
37
Hussein
20.09.12
✎
17:57
|
(36) В настоящее время активно занимаюсь SIP телефонией в связке с 1С. Так вот, в терминальной сессии SIP телефон не работает(точнее , работает , но только один). Есть идея исправить положение, но нужно перехватывать события на сервере. В общем, пока все мутно и неясно.
Соответственно и COMConnector тут ни при чем. |
|||
38
Serginio1
20.09.12
✎
18:05
|
А как ты на сервере то события перехватывать будешь?
ОбработкаВнешнегоСобытия (ExternEventProcessing) Возникает при посылке внешним приложением сообщения, сформированного в специальном формате. Внешнее событие сначала обрабатывается всеми открытыми формами, имеющими процедуру-обработчик этого события, а затем может быть обработано в процедуре-обработчике модуля управляемого приложения. И почему нужно на сервере это делать? Почему COMConnector не проходит? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |