Microsoft KB Archive/250865

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 12:51, 21 July 2020 by X010 (talk | contribs) (Text replacement - """ to """)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Base


INFO: CreateObject and CreateInstance Have the Same Effect in COM+

Article ID: 250865

Article Last Modified on 12/5/2007



APPLIES TO

  • Microsoft COM+ 1.0
  • Microsoft COM+ 1.5



This article was previously published under Q250865

SUMMARY

In Microsoft Transaction Server (MTS), you must use ObjectContext.CreateInstance in your root object to create secondary objects for the transaction to flow. In COM+ this still works, but it is no longer necessary to do it. In COM+, CreateObject subsumes the functionality of ObjectContext.CreateInstance. The object created participates in the caller's activity.

In COM+, you can use the standard CreateObject function in Microsoft Visual Basic to flow a transaction to secondary objects as appropriate.

The following example shows how the root object (clsRoot) creates the secondary object (clsSec) from within a transactional object.

Sub Test()
  Dim objSec As clsSec  'clsSec is the secondary class.
  Set objSec = CreateObject ("prjTest.clsSec")
End Sub
                

Also note that in COM+, as opposed to Microsoft Transaction Server, you don't have to obtain the ObjectContext in this particular scenario. This applies to CoCreateInstance and CoCreateInstanceEx APIs in C++ also.

Keywords: kbinfo KB250865