IUnknown - is the base class for all OLE/COM/ActiveX components

VBA use the CreateTypeLib2 API function to generate the type library when they build their own COM components.
VBA can define a parameter as being of type IUnknown by using a reference to the external library stdole2.tlb and a ITypeInfo to describe the data type.
Programmers are not allowed to use an IUnknown data type from VBA
This is a hidden data type

Dim myUnknown As IUnknown 

The Object data types is the core connection between VBA and COM
The Object type however does not expose the three methods of the actual IUnknown interface

  • AddRef - This method is called when the set operator is invoked and increments the target object's reference count

  • Release - This method is called when the object is explicitley set to Nothing and decrements the target object's reference count

  • QueryInterface - This method is used when resolving a late binding member resolution

The only difference between using IUnknown and Idispatch is that the type librray is required to use an IUnknown - derived interface
You cannot use IUnknown for scripting languages

© 2022 Better Solutions Limited. All Rights Reserved. © 2022 Better Solutions Limited TopPrevNext