CreateClassMember

 (Available in 01 TS COM - TS_COM_DelegateISink)

Purpose

Define a classmember ( Method or property name )

Syntax

oDelegateISink:CreateClassMember( #OnApplicationItemSend, 0x0000F002 )

Arguments

symClassMember
SYMBOL, Name of a methode or property
dwDispIDMember
DWORD, ID of a member ( can be found in the IDL code )

Description

Define a classmember ( Method or property name ). To be able to respond to COM events the 'TS_DelegateISink' class needs to know whitch method should be called. The COM event sends the member ID ( along with its parameters ) to the 'ISink' interface, the 'TS_DelegateISink' class needs to be able to match this 'ID' to a method or property name ( in normal COM interface implementations this is always a method ) before the event can be handled.

Returns

LOGIC, TRUE if succeeded

Example

METHOD INIT( uoOwner, uoInvokeHandler, uloSelfDestruct ) CLASS TS_HOutlookApplicationEvents
   SUPER:INIT( uoOwner, uoInvokeHandler, uloSelfDestruct  ; ...
  ... )
   SELF:CreateClassMember( #OnApplicationItemSend, 0x0000F002  ; ...
  ... )
   SELF:CreateClassMember( #OnApplicationNewMail, 0x0000F003  ; ...
  ... )
   SELF:CreateClassMember( #OnApplicationReminder, 0x0000F004  ; ...
  ... )
   SELF:CreateClassMember( #OnApplicationOptionsPagesAdd, 0x0000F005  ; ...
  ... )
   SELF:CreateClassMember( #OnApplicationStartup, 0x0000F006  ; ...
  ... )
   SELF:CreateClassMember( #OnApplicationQuit, 0x0000F007 )
RETURN SELF

Source

METHOD CreateClassMember( symClassMember AS SYMBOL, dwDispIDMember AS DWORD ) AS  ; ...
...LOGIC PASCAL CLASS TS_DelegateISink
LOCAL lRetVal AS USUAL
   TSTrace Enter
   IF SELF:FInit
      lRetVal:=SELF:_ISink:CreateClassMember( symClassMember ; ...
     ... , dwDispIDMember, FALSE )
   ELSE
      TStrace Warning "!SELF:FInit"
      lRetVal:=FALSE
   END
   TSTrace Leave
RETURN lRetVal