NewWindow2中的异常信息 |
尚未結案
|
wzpuma
一般會員 發表:10 回覆:19 積分:5 註冊:2003-02-27 發送簡訊給我 |
我曾提了两个问题,名为“pagecontrol上放了WebBrowser,点击链接后产生新的tabsheet ”和“如何指定新tabsheet上的新WebBrowser”,后经timhuang兄和wushang兄指点,问题基本解决了。原文见
"http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26523"和“http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27072”
现运行时发现
(1)上有些网点(如"www.dragonsky.com")会出现信息"Could not obtain Ole Control window handle",且有时网页代码自动打开窗口(皆为广告条)时产生一个空白的TTabSheet。我在WebBrowser1NewWindow2中加了如下语句:
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
......
try
newweb.ParentWindow := newtab.Handle;
except
newweb.destory;
end;
......
end;
但没作用,错在哪儿?
(2)timhuang兄所答“如何指定新tabsheet上的新WebBrowser”语句:
procedure TForm1.Button3Click(Sender: TObject);
var nowweb:TWebBrowser;
Htmldoc: IHtmlDocument2;
nowtab : TTabSheet;
i: Integer;
begin
nowtab := PageControl1.ActivePage;
for i := 0 to nowtab.ControlCount - 1 do
begin
if nowtab.Controls[i] is TWebBrowser then
begin
nowweb := nowtab.Controls[i] as TWebBrowser;
break;
end;
end;
if nowweb <> nil then
begin
Htmldoc := nowweb.Document as IHtmlDocument2;
showdoc(Htmldoc);
end;
end;
运行后会提示:“Variable 'nowweb' might not have been initialized"
nowweb是以存在的,该如何初始化?
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |