T
Todor Todorov
I am trying to establish an event sink to a MS Project OLE
server. The client is written in Smalltalk, so it uses
automation extensively to determine what the OLE server is
capable of.
Here is the Smalltalk kode translated to VB pseudocode.
' Create a MS Project automation server.
Set app=CreateObject("MSProject.Application")
' If the next line succeeds, the events are supported
Set icpc=app.QueryInterface(IID_IConnectionPointContainer)
' Get an enumerator to determine event interfaces
Set ienumcp = icpc.EnumConnectionPoints()
The MSDN documentation says to query interface for
IConnectionPointContainer to determine if events are
supported. It succeeds, so they are. Next, enumerate the
supported event interfaces with EnumConnectionPoints. But
MS Projects fails here with DISP_E_UNKNOWNINTERFACE. Why?
It's not a documented return value. The documentation even
says: "Returning E_NOTIMPL is specifically disallowed
because, with the exception of type information, there
would be no other means through which a caller could find
the IIDs of the outgoing interfaces."
What's wrong with MS Project? How do I solve this issue?
server. The client is written in Smalltalk, so it uses
automation extensively to determine what the OLE server is
capable of.
Here is the Smalltalk kode translated to VB pseudocode.
' Create a MS Project automation server.
Set app=CreateObject("MSProject.Application")
' If the next line succeeds, the events are supported
Set icpc=app.QueryInterface(IID_IConnectionPointContainer)
' Get an enumerator to determine event interfaces
Set ienumcp = icpc.EnumConnectionPoints()
The MSDN documentation says to query interface for
IConnectionPointContainer to determine if events are
supported. It succeeds, so they are. Next, enumerate the
supported event interfaces with EnumConnectionPoints. But
MS Projects fails here with DISP_E_UNKNOWNINTERFACE. Why?
It's not a documented return value. The documentation even
says: "Returning E_NOTIMPL is specifically disallowed
because, with the exception of type information, there
would be no other means through which a caller could find
the IIDs of the outgoing interfaces."
What's wrong with MS Project? How do I solve this issue?