Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание Сом+ объекта из другого Сом+ объекта, Метод ObjectContex.CreateInstance 
:(
    Опции темы
Plamenk
Дата 30.3.2005, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 258
Регистрация: 18.2.2003

Репутация: нет
Всего: 3



Всем Привет!

Речь пойдет об Сом+ объектах созданных с помощью VB!
(Модераторы пожалуйста не перемещайте, т.к. речь пойдет скорее не о языке,
а о тонкостях технологии Сом+. smile )

Вначале надо сказать, что Сом+ компонент из другого Сом+
можно создать тремя способами в VB:

1. Спомощью New - раннее связывание, методы объекта вызываются на прямую
(считается наиболее быстрым, но в умной книжке написано что его не стоит использовать)
2. Спомощью CreateObject() - позднее связывание для вызова объектов используется интерфейс IDispatch
(в той же умной книжке написано что можно, но все же лучше 3 способ)
3. ObjectContext.CreateInstance() (на С++ IObjectContext::CreateInstance ) - как я понял новый объект
создается из контекста объекта и декларирует его свойства

А теперь вопрос:
Вообщем у меня есть два Com+ компонента A и B!
А - не поддерживает транзакции, В - поддерживает.
Компонент А должен создовать В и вызывать его методы.

Ну собственно вопрос какой метод для создания выбрать?
Что мне даст (кроме ошибок при отладке smile ) ObjectContext.CreateInstance() ?

Также интересно, если, например, создавать объект В с помощью ObjectContext.CreateInstance().
А также вызывать и создавать объект А из другого Сом+ объекта С, транзакция объекта B, будет включена в транзакцию С (С - поддрежывает транзакции)?

Заранее все БОЛЬШОЕ СПАСИБО!

Это сообщение отредактировал(а) Plamenk - 30.3.2005, 08:04
PM MAIL   Вверх
Simix
Дата 30.3.2005, 16:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Если не нужно включать в ту же транзакцию создаваемый объект - ObjectContext можно не использовать.

В последнем случае будет транзакция для объекта С (если он её требует или создан через ручную транзакцию BYOT). Для B транзакции не будет - так как он только поддерживает транзакции, но не требует их, а A транзакции не поддерживает и не может ничего передать объекту B
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0391 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.