Вниз
Скачать: CL | DM;

Как достучаться до IHTMLDocument из ActiveX   Найти похожие ветки 

 
ValeraVV ©   (2003-04-22 07:53) [0]

Написал свой ActiveX для вставки в HTML страницу (тег object). Можно ли достучаться из этого ActiveX до IHTMLDocument или IWebBrouser что бы понять на какой странице он находится (ее URI)


 
Крот ©   (2003-04-22 08:49) [1]

Можно. При создании твоего объекта будет вызван метод IObjectWithSite.SetSite, туда передается указатель на IUnknown, через него можно получить указатель на контейнер(IOleContainer),
а через контейнер запросить IHTMLDocument2. Примерно так, точней не скажу - давненько этим не занимался.


 
ValeraVV ©   (2003-04-22 09:43) [2]

Делаю так:
procedure TCard.DblClick;
var
O:IOLEContainer;
I:IHTMLDocument2;
begin
inherited;
FCard.ClientSite.GetContainer(O);
I:=O as IHTMLDocument2;
MessageDlg(I.location.toString, mtWarning, [mbOK], 0);
end;

При запуске из под отладчика работает
Но при открытии странички просто из эксплорера при даблклике пишет "Интерфейс не поддерживается"


 
Крот ©   (2003-04-22 10:09) [3]

Попробуй получить IHTMLDocument2 "по-честному", через QueryInterface. И еще я бы проанализировал ЧТО возвращает GetContainer.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
1-12728
Rise
2003-04-23 11:36
2003.05.05
Событие OnClick


14-12898
alex134
2003-04-10 22:26
2003.05.05
Отладка


1-12775
Lighnam
2003-04-21 10:27
2003.05.05
несколько расширений в 1 строке фильтра в open dialog


14-12940
BorisUK
2003-04-18 09:52
2003.05.05
RX


1-12740
vac_vic
2003-04-21 16:45
2003.05.05
Трабл с чужим ChecBox




   Наверх