CreateInstance
(Available in 01 TS COM - TS_COM_IClassFactory)
Source
METHOD CreateInstance( poOuterAIUnknown AS TS_AbstractIUnknown PTR, pStruIID AS _WinGUID ; ...
..., poResultAIInterface AS TS_AbstractIUnknown PTR ) AS LONG PASCAL CLASS TS_IClassFactory
LOCAL poAICreatedInterface AS TS_AbstractIUnknown PTR
LOCAL oAICreatedInterface AS TS_AbstractIUnknown
LOCAL oCOMGlobalData AS _TS_COMGlobalData
LOCAL oManufacture AS TS_DelegateIDispatch
LOCAL oIUnknown AS TS_IUnknown
LOCAL hResult AS LONG
TSTrace Enter
oCOMGlobalData:=_TS_ModuleGetCOMGlobalData( )
#IFDEF TS_COMGLOBALDATA_CRITICALSECTION
EnterCriticalSection( oCOMGlobalData:_COMGGeneralPurposeSection )
#ENDIF
hResult:=S_OK
// TSTrace ToDo "If 'poAICreatedInterface:=poResultAIInterface' is o.k. then the ; ...
// ...var 'poAICreatedInterface' can be removed"
poAICreatedInterface:=poResultAIInterface
DO CASE
CASE !SELF:IsValidObject
TSTrace Warning "!SELF:IsValidObject"
IF poResultAIInterface<>NULL_PTR
OBJECT( PTR( _CAST, poResultAIInterface ) ):=NULL_OBJECT