function GetDocumentFromFrame(
Frame: IHTMLFrameElement): IHTMLDocument2;
var
myBase2: IHTMLFrameBase2;
myWin: IHTMLWindow2;
begin
Result := nil;
if Frame = nil then
Exit;
try
myBase2 := Frame as IHTMLFrameBase2;
myWin := myBase2.contentWindow;
Result := myWin.document;
except
Result := nil;
end;
end;
IHtmlDocument2 из фрейма.
Код:
Т. е. получени html документа из фрейма. Решил портировать на C#. Тот же самый код не работает нифига -
Код:
IHTMLDocument2 GetDocumentFromFrame(IHTMLFrameElement frame)
{
try
{
IHTMLFrameBase2 myBase2 = Frame as IHTMLFrameBase2;
IHTMLWindow2 myWin = myBase2.contentWindow;
return myWin.document;
}
catch
{
return null;
}
}
{
try
{
IHTMLFrameBase2 myBase2 = Frame as IHTMLFrameBase2;
IHTMLWindow2 myWin = myBase2.contentWindow;
return myWin.document;
}
catch
{
return null;
}
}
Заваливается на этой - IHTMLWindow2 myWin = myBase2.contentWindow; строчке. 'myBase2.contentWindow' threw an exception of type 'System.InvalidCastException'.
Помогите, как мне получить документ из фрейма?
(Visual studio 2008, dotNet 2.0, Windows 7) проверял работосопосдность кода на делфи. Скомпили подебажился. Всё работает.