Create a new connection point in VC ++ 6?

I have an ATL / COM project, in VC ++ 6. I want an existing class that has never been previously defined to raise events, to raise events. For this, the class will have to implement a "connection point".

These events are of a type that no class has ever raised, so I will need to create a new join point and not reuse an existing one.

I know how to make a class an implementation of a connection point - right-click the class in the class view, select "implement connection point" and select the appropriate connection point from the displayed list.

I know how to create a new connection point, if it is associated with a new ATL class for its implementation - check "Support for connection points" when creating a class.

But I can't figure out how to create a new junction point without creating a new ATL class that implements it.

I modified the IDL to include something similar to the definitions of existing connection points:

[
    uuid(*blah blah blah*),
    helpstring("_IBlahEvents Interface")
]
dispinterface _IBlahEvents
{
    properties:
    methods:
    [id(1), helpstring("method BlahChanged")] HRESULT BlahChanged();
};

(Obviously, I have a real uuid, not a "blah blah blah").

After that, the _IBlahEvents interface opens in the class. But when I right-click on the ATL class that I want to implement _IBlahEvents and select "Implement Connection Point", _BlahEvents does not appear in the list of existing connection points.

I recompiled, including cleaning and restoring everyone.

What am I missing?

Thanks.

+3
2

?

  public IConnectionPointContainerImpl<CYOUR_CLASS_HERE>

, , , "Support Connection Points".

. , , .

0

IDL , . - :

[default, source] dispinterface _IBlahEvents; 
0

Source: https://habr.com/ru/post/1713183/


All Articles