IVarPutCreateInstanceArgs

 (Available in 01 TS COM - TS_COM_DelegateIDispatch)

Purpose

Set a property value, Return value as object

Syntax

oObject:=oDelegateIDispatch:IVarPutCreateInstanceArgs( #MyObject, #Item ; ...
..., { 1 } )

Arguments

symClass
SYMBOL
symIVar
SYMBOL
aArgs
ARRAY

Description

THIS TYPE OF PROPERTY GET IS NOT SUPPORTED BY STANDAARD COM INTERFACES

Set a property value, Return value as object, The method 'IVarPutArgs' could be used to return the same value, except the this method will instanciate a object of the specified class ( 'symClass' ). For the same property the 'IVarPutArgs' method will return an instance of 'TS_DelegateIDispatch'

Returns

OBJECT, Property value

Example

ASSIGN CAItem( uParm1, uParm2 ) CLASS SomeClass
RETURN SELF:IVarPutCreateInstanceArgs( #ItemObject, #Item, {  ; ...
...uParm1, uParm2 } )

Source

METHOD IVarPutCreateInstanceArgs( symClass AS SYMBOL, symIVar AS SYMBOL, aArgs AS  ; ...
...ARRAY ) CLASS TS_DelegateIDispatch
LOCAL uRetVal AS USUAL
   TSTrace Enter symIVar
   IF SELF:FInit
      DO CASE
      CASE Empty( symClass )
         uRetVal:=SELF:_IVarPut( NULL_SYMBOL, symIVar, aArgs,  ; ...
        ... SELF:_ArgsLength( aArgs ) )
      CASE IsClass( symClass )
         uRetVal:=SELF:_IVarPut( symClass, symIVar, aArgs, SELF:_ArgsLength ; ...
        ... ( aArgs ) )
      OTHERWISE
         TSTrace Warning "!IsClass(symClass)"
         uRetVal:=NIL
      END
   ELSE
      TSTrace Warning "!SELF:FInit"
      uRetVal:=NIL
   END
   TSTrace Leave symIVar
RETURN uRetVal