|
УФ как передать COM-объект между формами? |
☑ |
0
Mashinist
05.11.14
✎
18:19
|
Внешняя обработка
Думал как обычный параметр
ПараметрыОбработки = Новый Структура;
ПараметрыОбработки.Вставить("Объект",СОМБаза);
ОткрытьФорму("ВнешняяОбработка.ADT_ЗагрузкаНачальныхДанных.Форма.Остатки",ПараметрыОбработки);
{Форма.Форма.Форма(57)}: Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму("ВнешняяОбработка.ADT.Форма.Остатки",ПараметрыОбработки);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'val':
форма: Элемент
имя: {
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'COMОбъект'
|
|
1
Mashinist
05.11.14
✎
18:28
|
Даже
АдресCOMОбъекта=ПоместитьВоВременноеХранилище(СОМБаза,Новый УникальныйИдентификатор());
Не работает...
Что делать-то?
|
|
2
ДенисЧ
05.11.14
✎
18:30
|
Общий модуль с кешированием значений, и в нём функция, которая возвращает объект
|
|
3
Mashinist
05.11.14
✎
18:36
|
(2) Общий модуль не годиться. Конфа на поддержке.
Все во внешней обработке...
|
|
4
ДенисЧ
05.11.14
✎
18:40
|
(3) Добавить новый модуль можно, ничему не помешает
|
|
5
Гёдза
05.11.14
✎
18:42
|
а общий модуль с кэшированием на клиенте работает?
|
|
6
ДенисЧ
05.11.14
✎
18:46
|
(5) А чому бы нет?
|
|
7
DmitrO
05.11.14
✎
19:01
|
Что же все такие одинэсники-то..
В форме куда надо передать надо сделать экспортную переменную модуля с директивой компиляции НаКликнте, открыть эту форму функцией ОткрытьФорму как обычно, она вернет форму, и установить экземпляр ком-объекта в эту переменную. Передача ком-объекта произойдет в рамках клиента, без сервера. На сервер передать ком-объект не возможно в принципе.
|
|