Currently, the statement INHERIT IDISPATCH is used to signify a dual interface (a combination of direct VTable and Dispatch).
The statement INHERIT DUAL is accepted as a synonym.
In order to provide you with greater capabilities in the future, we have decided to disallow INHERIT IDISPATCH,
so that it can be reserved for another purpose in the future.
This change will be effective with PBCC 5.01 and PBWin 9.01, which will be available in the near future.
We recommend that you change all instances of INHERIT IDISPATCH to INHERIT DUAL in your current programs to
avoid any conflicts with the upcoming release.
The statement INHERIT DUAL is accepted as a synonym.
In order to provide you with greater capabilities in the future, we have decided to disallow INHERIT IDISPATCH,
so that it can be reserved for another purpose in the future.
This change will be effective with PBCC 5.01 and PBWin 9.01, which will be available in the near future.
We recommend that you change all instances of INHERIT IDISPATCH to INHERIT DUAL in your current programs to
avoid any conflicts with the upcoming release.
signifying a dual interface confusing.
But does this also apply to the declaration of an interface? For example, given the following interface
Code:
[ odl, uuid(D1B6F1CB-C9DA-47A1-B58A-7BF32EB62CE2) ] interface _Icon : IDispatch { HRESULT _stdcall LoadBitmap([in] BSTR FileName); HRESULT _stdcall LoadIcon([in] BSTR FileName); [propget] HRESULT _stdcall index([out, retval] long* pVal); [propput] HRESULT _stdcall index([in] long pVal); [propput] HRESULT _stdcall HBITMAP([in] unsigned long rhs); [propget] HRESULT _stdcall maskColor([out, retval] unsigned long* pVal); [propput] HRESULT _stdcall maskColor([in] unsigned long pVal); [propput] HRESULT _stdcall HICON([in] unsigned long rhs); };
my tracks when I read that the statement signified a dual interface. But Jose cleared things up with
this reply
INHERIT IDispatch defines a dual interface when you are writing classes with PB to build a COM server,
but when it is a declaration to use a server as a client, it simply defines that it is an interface that inherits from IDispatch.
but when it is a declaration to use a server as a client, it simply defines that it is an interface that inherits from IDispatch.
Comment