Re: [default.source] дуальные интерфейсы и позднее связывани
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.04.03 08:41
Оценка:
Здравствуйте, SloNN, Вы писали:

Это большой недостаток коннекшн поинтов. Обычно используется диспинтерфейс.
Обойти можно, но есть много телодвижений.
Обычно все исходящие интерфейсы являются наследниками от IDispatch.
Если есть диспатч — работай с ним. Если нет — работай напрямую.
Все это можно выяснить из конкретного интерфейса.

Обычно эта ответственность лежит на сервере.
IE, например, проверяет на IDispatch.

Ну и нужно делать дуальный интерфейс, если в IID_Event засовываешь в QueryInterface.



SNN>Вопрос в следующем:

SNN>Т.е. я могу формально подправить QueryInterface и добавить туда строчку, что я поддерживаю IID_Event, но если вдруг объект-источник событий решит вызвать через указатель методы IID_Event напрямую, не через IDispatch, то тут же получит ошибку доступа к памяти.

SNN>Я поискал по интернету, но наткнулся лишь на одну статью с borland'a, где они решают похожую задачу, так там они действительно в QueryInterface объявляют о поддержке IID_Event, но возвращают просто указатель на IDispatch.


SNN>Может быть есть какие-нибудь соглашения о вызове методов на [default,source] интерфейсах?

SNN>Или нужна какая-нибудь дополнительная обработка?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.