Проблема с компилятором интерфейсов
От: s_anatoli Украина http://koresha.org/sakhnik
Дата: 09.07.04 08:19
Оценка:
В куске кода объявлена типичная схема точек соединения:
[
    object,
    uuid(EF582D07-2E55-4EAA-9A70-A7188923C7A2),
    dual,
    nonextensible,
    helpstring("IGetType Interface"),
    pointer_default(unique)
]
interface IGetType : IDispatch{
    [propget, id(1), helpstring("property Type")] HRESULT Type([out, retval] LONG* pVal);
    [propget, id(2), helpstring("property Version")] HRESULT Version([out, retval] LONG* pVal);
    [propget, id(3), helpstring("property Subver")] HRESULT Subver([out, retval] LONG* pVal);
};
...................................
    [
        uuid(B5BE3B07-98E4-489C-BB9F-1D5351FA9ED9),
        helpstring("_IGetTypeEvents Interface")
    ]
    dispinterface _IGetTypeEvents
    {
        properties:
        methods:
        [id(1), helpstring("method OnGetTypeFinished")] HRESULT OnGetTypeFinished([in] IGetType * getType);
    };
    [
        uuid(BAD71DF5-3943-432B-A7E8-1CDAE76D0376),
        helpstring("GetType Class")
    ]
    coclass GetType
    {
        [default] interface IGetType;
        [default, source] dispinterface _IGetTypeEvents;
    };

Вот беда, компилятор интерфейсов формирует пустую структуру
    MIDL_INTERFACE("B5BE3B07-98E4-489C-BB9F-1D5351FA9ED9")
    _IGetTypeEvents : public IDispatch
    {
    };

Всё действие происходит в MSVC 7.1. Если кто-нибудь сталкивался с такой проблеммой, подскажите.

Жизнь — это чудо! Только вперёд: sakhnik@jabber.kiev.ua
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.