Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизWebBrowser фреймы Найти похожие ветки
← →
xroot (2006-02-06 13:27) [0]Вопрос такой, в TWebBrowser (WB) загружен документ, в нем может быть несколько фреймов. Если их несколько нужно выбрать тот у кого больше картинок и получить все их ссылки на исходник, аля src. Пытаюсь так, но в runtime вылетает ошибка. Поправьте код. Прошу.
var
IDisp: IDispatch;
IWindow2:IHTMLWindow2;
IDoc: IHTMLDocument2;
Images: IHTMLElementCollection;
Item: IHTMLElement;
begin
ImgCount := 0;
FrameCount := WB.OleObject.Document.frames.Length;
if FrameCount > 1 then for i := 0 to FrameCount - 1 do if WB.OleObject.Document.frames[i].document.images.length > ImgCount then
begin
IDisp:=WB.OleObject.Document.Frames.item(i).document;
IDisp.QueryInterface(IHTMLWindow2,IDoc);
end
else WB.ControlInterface.Document.QueryInterface(IHtmlDocument2,IDoc);
ImgCount := IDoc.images.length;
ImgGrid1.RowCount := ImgCount div ImgGrid1.ColCount + 1;
Result := true;
for i := Index to ImgCount - 1 do
begin
Images := IDoc.images;
ImgAdr := (Images.Item(i, "") as IHTMLImgElement).Src;
...
← →
Gero © (2006-02-06 13:35) [1]> ImgAdr := (Images.Item(i, "") as IHTMLImgElement).Src;
Ошибка, скорее всего, из-за этого.
Замени на
IDisp := OleObject(IDoc.images).item(i);
ImgArd := (IDisp as IHTMLImgElement).Src;
← →
xroot (2006-02-06 13:41) [2]Извиняюсь за неточность ошибка возникает на строке
ImgCount := IDoc.images.length;
Тип ошибки не явный
← →
Gero © (2006-02-06 13:53) [3]> IDisp.QueryInterface(IHTMLWindow2,IDoc);
А при чем здесь Window?
← →
xroot (2006-02-06 13:54) [4]Блин, извините за беспокойство. Прямо орехи колю! Так нужно было.
if FrameCount > 1 then
begin
for i := 0 to FrameCount - 1 do if WB.OleObject.Document.frames[i].document.images.length > ImgCount then
begin
IDisp := WB.OleObject.Document.Frames.item(i).document;
IDisp.QueryInterface(IHTMLWindow2,IDoc);
end;
end
else
begin
WB.ControlInterface.Document.QueryInterface(IHtmlDocument2,IDoc);
end;
← →
xroot (2006-02-06 13:55) [5]Получаем доступ к интерфейсу IHTMLDocument2. А разве можно как то по другому?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.052 c