Testing COM Interfaces at Run Time

Testing COM Interfaces at Run Time

VB5 provides interface inheritance through the use of the Implements keyword. For example, CFullTimeEmployee can implement the IEmployee interface. This interface might include basic information such as name, social security number, and date of birth. Another class, CPartTimeEmployee can also implement the IEmployee interface. You can then write code against the IEmployee interface without regard to the type of employee. To supply additional functionality, you might create an IEmp2 interface. To test whether an object is of a certain type, use the TypeOf keyword at run time. The format is “TypeOf object Is class/interface”. Here’s how to define two classes:

 Class CFullTimeEmployee:Implements IEmployeeImplements IEmp2Class CPartTimeEmployeeImplements IEmployeeDim objMyFTE as New CFullTimeEmployeeDim objMyPTE as New CPartTimeEmployee

Using TypeOf, you can query at run time which interfaces these objects support:

 Query	ReturnTypeOf objMyFTE Is CFullTimeEmployee	TrueTypeOf objMyFTE Is IEmployee	TrueTypeOf objMyFTE Is IEmp2	TrueTypeOf objMyFTE Is CPartTimeEmployee	FalseTypeOf objMyFTE Is Object	TrueTypeOf objMyFTE Is IUnknown	TrueTypeOf objMyPTE Is CPartTimeEmployee	TrueTypeOf objMyPTE Is IEmployee	TrueTypeOf objMyPTE Is IEmp2	FalseTypeOf objMyPTE Is Object	TrueTypeOf objMyPTE Is IUnknown	TrueTypeOf objMyPTE Is CFullTimeEmployee	False


Share the Post: