.我用TWebBrowser和PageControl写浏览器,如果遇到很多弹出式窗口的网站,比如“华军软件园”进入它的网站会弹出一些广告,但是我的程序并没有打开那个广告网页,PageControl是新建了页面来打开,可是网页并没有显示出来,整个页面是灰度的。这种情况只发生在有弹出式广告的网站(而且弹出的广告中多含有Flash动画)和CGI弹出窗口,还有不仅网页显示不出来,而且还会出现这样的错误信息:Could not obtain OLE control window handle。这是怎么回事?
下面是TWebBrowser的OnNewWindow2过程:
procedure TMainForm.OnNewWindow2(Sender: TObject; var ppDisp: IDispatch;
  var Cancel: WordBool);
var
  n:Integer;
  tabwb:TTabSheetWithEM;{这是我自己写的一个类,把TWebBrowser和TTabSheet组合在一起了}
begin
  PageControl.Parent:=MainForm;
  tabwb:=TTabSheetWithEM.Create(self);
  tabwb.PageControl:=self.PageControl;
  tabwb.WebBrowser.ParentWindow:=tabwb.Handle;
  TWinControl(tabwb.WebBrowser).Parent:=tabwb;
  tabwb.WebBrowser.Align:=alclient;
  for n:=0 to PageControl.PageCount-1 do
  ppdisp:=((self.PageControl.Pages[n]) as TTabSheetWithEM).WebBrowser.Application;
end;