Каталог решений - Надоело повторное COM-соединение? Не помещается COM-объект в хранилище? Есть решение!

Надоело повторное COM-соединение? Не помещается COM-объект в хранилище? Есть решение!

Надоело повторное COM-соединение? Не помещается COM-объект в хранилище? Есть решение!

В наличии

В этой статье описывается решение проблемы хранения COM-соединения, а также повторного соединения к базе каждый раз, как потребуется очередной обмен.

Категория:

Описание

Итак, начнем с того, что в платформе 8.2 можно было сохранить соединение во временное хранилище. Как это делается:

л_COMОбъект=Новый COMОбъект("v82.Application");
л_АдресВХранилище=ПоместитьВоВременноеХранилище(л_COMОбъект, Новый УникальныйИдентификатор());

Ну и получать COM-объект из временного хранилища:

л_COMОбъект = ПолучитьИзВременногоХранилища(л_АдресВХранилище);

Но в платформе 8.3 возникает ошибка "Переданное значение не может быть помещено во временное хранилище".

На 8.3 во временное хранилище можно помещать только те данные, для которых поддерживается сериализация. Делается точно так же, но немного другой код:

 

л_COMОбъект = Новый COMОбъект("V83.Application");
л_Структура = Новый Структура("COMОбъект", л_COMОбъект);
л_АдресВХранилище = ПоместитьВоВременноеХранилище(л_Структура, Новый УникальныйИдентификатор());

Соответственно получаем:

л_COMОбъект = ПолучитьИзВременногоХранилища(л_АдресВХранилище).COMОбъект;

Важно: получать из хранилища только на сервере (если на сервере помещали), или аналогично на клиенте.

На этом статья заканчивается.

has been added to your cart:
Оформление заказа