SafeClassMembers
(Available in 01 TS COM - TS_COM_IDispatch)
Source
METHOD SafeClassMembers( ) CLASS TS_IDispatch
LOCAL symSelfClassName AS SYMBOL
LOCAL aClassMemberData AS ARRAY
LOCAL aClassMemberRepo AS ARRAY
LOCAL oCOMGlobalData AS _TS_COMGlobalData
LOCAL lRetVal AS LOGIC
LOCAL X AS DWORD
TSTrace Enter
oCOMGlobalData:=_TS_ModuleGetCOMGlobalData( )
aClassMemberRepo:=oCOMGlobalData:_ClassMemberRepo
DO CASE
CASE SELF:_ClassMembersLoaded
TSTrace Warning "SELF:_ClassMembersLoaded"
lRetVal:=FALSE
CASE aClassMemberRepo==NULL_ARRAY
TSTrace Warning "aClassMemberRepo==NULL_ARRAY"
lRetVal:=FALSE
OTHERWISE
symSelfClassName:=ClassName( SELF )
X:=AScan( aClassMemberRepo, { | _a | _a[ _TS_DISP_CM_NAMESYM ]==symSelfClassName ; ...
... } )
IF LOGIC( _CAST, X )
TSTrace Warning "LOGIC(_CAST,X:=AScan(aClassMemberRepo,{|_a|_a[_TS_DISP_CM_NAMESYM]==symSelfClassName}))"