Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

СHtmlView::OnNewWindow2 и LPDISPATCH.

10K
11 октября 2005 года
Higher
7 / / 20.09.2005
Мир Вам коллеги!

В общем есть такая запарка:

кусок кода:

...

CHtmlView HtmlView;

...

void HtmlView::OnNewWindow2(LPDISPATCH *ppDisp, BOOL *Cancel)
{
LPDISPATCH pDisp=*ppDisp;

bool sux= (pDisp == NULL); // [?]


...
}
...

Мне нужно получить LPDISPATCH, для того что-бы потом c него получить IWebBrowser2

IWebBrowser2 *pBrowser;
pDisp->QueryInterface(IID_IWebBrowser2, (void**) pBrowser);

Но.. почему pDisp==NULL, и как это можно решить..

Поиск ничего толкового не дал..

Может кто либо сталкивался с подобной задачей и нашел решение.
351
13 октября 2005 года
PitxBull
633 / / 22.12.2004
Цитата:
Originally posted by Higher
Мир Вам коллеги!

В общем есть такая запарка:

кусок кода:

...

CHtmlView HtmlView;

...

void HtmlView::OnNewWindow2(LPDISPATCH *ppDisp, BOOL *Cancel)
{
LPDISPATCH pDisp=*ppDisp;

bool sux= (pDisp == NULL); // [?]


...
}
...

Мне нужно получить LPDISPATCH, для того что-бы потом c него получить IWebBrowser2

IWebBrowser2 *pBrowser;
pDisp->QueryInterface(IID_IWebBrowser2, (void**) pBrowser);

Но.. почему pDisp==NULL, и как это можно решить..

Поиск ничего толкового не дал..

Может кто либо сталкивался с подобной задачей и нашел решение.



Анализируя твой код можно сказать что вероятно уже при вызове функции ppDisp == NULL. А поскольку функция так сказать called by framework то вероятно проблема не в ней а где то в системе которая в свою очередь не была где то правильно проинициализирована.... хотя с HtmlView никогда не работал.... отказался от этой фичи ( в своем проекте ) ,ак сказать еще один резерв за кустами )))

351
13 октября 2005 года
PitxBull
633 / / 22.12.2004
 
Код:
void CHtmlView::OnNewWindow2(LPDISPATCH* ppDisp, BOOL* bCancel)
{
    // default to continuing
    *bCancel = FALSE;

    // user will override to handle this notification
    UNUSED_ALWAYS(ppDisp);
}


из исходников MFC... повбивав би :)))
351
14 октября 2005 года
PitxBull
633 / / 22.12.2004
вообщем вся злобность Мелкософта в вышеприведенном примере очевидна, попробуй юзать напрямую интерфейсы Internet Explorera без MFC, nj ,то бишь его класса CHtmlView ( хотя конечно не в MFC проблема )... минингита будет больше но может получится то что ты хочешь....
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог