私はVC++ 6でATL/COMプロジェクトを持っています。イベントを発生させるために以前に定義されたことのない、既存のクラスが必要です。これを行うには、クラスは「接続ポイント」を実装する必要があります。VC++ 6に新しい接続ポイントを作成しますか?
これらのイベントは以前に発生したことのないタイプなので、既存のものを再利用するのではなく、新しい接続ポイントを作成する必要があります。
クラスを接続ポイントに実装する方法を知っています - クラスビューでクラスを右クリックし、「接続ポイントを実装」を選択し、表示されるリストから適切な接続ポイントを選択します。
私は新しいATLクラスに関連付けられている限り、新しい接続ポイントを作成する方法を知っています - クラスを作成するときに "サポート接続ポイント"をチェックしてください。
しかし、私は新しい接続ポイントを作成する方法を理解することができません。を実装する新しいATLクラスを作成することなく、これを行うことはできません。
は、私は、既存の接続ポイントの定義に似たものが含まれるようにIDLを変更した:
[
uuid(*blah blah blah*),
helpstring("_IBlahEvents Interface")
]
dispinterface _IBlahEvents
{
properties:
methods:
[id(1), helpstring("method BlahChanged")] HRESULT BlahChanged();
};
(もちろん、私は本当のUUIDを持って、ない「何とか何とか何とか」)。
これを実行すると、_IBlahEventsインターフェイスがクラスビューに表示されます。しかし_IBlahEventsを実装するATLクラスを右クリックし、 "Implementing Connection Point"を選択すると、_IBlahEventsは既存の接続ポイントのリストに表示されません。
私はすべてのクリーニングと再構築を含む、再コンパイルしました。
私には何が欠けていますか?
ありがとうございました。