![]() |
|
|
![]()
|
|
| Plamenk |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 258 Регистрация: 18.2.2003 Репутация: нет Всего: 3 |
Всем Привет!
Речь пойдет об Сом+ объектах созданных с помощью VB! (Модераторы пожалуйста не перемещайте, т.к. речь пойдет скорее не о языке, а о тонкостях технологии Сом+. Вначале надо сказать, что Сом+ компонент из другого Сом+ можно создать тремя способами в VB: 1. Спомощью New - раннее связывание, методы объекта вызываются на прямую (считается наиболее быстрым, но в умной книжке написано что его не стоит использовать) 2. Спомощью CreateObject() - позднее связывание для вызова объектов используется интерфейс IDispatch (в той же умной книжке написано что можно, но все же лучше 3 способ) 3. ObjectContext.CreateInstance() (на С++ IObjectContext::CreateInstance ) - как я понял новый объект создается из контекста объекта и декларирует его свойства А теперь вопрос: Вообщем у меня есть два Com+ компонента A и B! А - не поддерживает транзакции, В - поддерживает. Компонент А должен создовать В и вызывать его методы. Ну собственно вопрос какой метод для создания выбрать? Что мне даст (кроме ошибок при отладке Также интересно, если, например, создавать объект В с помощью ObjectContext.CreateInstance(). А также вызывать и создавать объект А из другого Сом+ объекта С, транзакция объекта B, будет включена в транзакцию С (С - поддрежывает транзакции)? Заранее все БОЛЬШОЕ СПАСИБО! Это сообщение отредактировал(а) Plamenk - 30.3.2005, 08:04 |
|||
|
||||
| Simix |
|
|||
|
Unregistered |
Если не нужно включать в ту же транзакцию создаваемый объект - ObjectContext можно не использовать.
В последнем случае будет транзакция для объекта С (если он её требует или создан через ручную транзакцию BYOT). Для B транзакции не будет - так как он только поддерживает транзакции, но не требует их, а A транзакции не поддерживает и не может ничего передать объекту B |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |