Вниз
Скачать: 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.008 c
1-12727
$HiC0
2003-04-23 18:43
2003.05.05
Размер объекта в байтах


14-12861
CGI
2003-04-16 12:54
2003.05.05
Посоветуйте компоненты для публикации БД в Web...


1-12746
AlexOld
2003-04-20 10:12
2003.05.05
Как менять размер массива, являющегося полем записи


1-12825
anbezr
2003-04-22 19:42
2003.05.05
I/O error 998


9-12596
greenrul
2002-09-18 15:22
2003.05.05
Delphi+DirectX и DelphiX




   Наверх