我在写浏览器,我为了实现屏蔽黑名单的功能,而这样做:
procedure TForm1.EmbeddedWB1WindowClosing(Sender: TObject;IsChildWindow: WordBool; var Cancel: WordBool);
begin
 //if something is true then do
(TControl((Sender as TEmbeddedWB)).Parent as TTabSheet).PageControl:=nil;
end;这样做是在判断访问的网址是黑名单中的后, 就自动释放掉那个窗口。可是这个办法在98下会出现“未指定的错误”,在2000/XP下能正常关闭窗口,WinMe没有试过。不知道有什么办法?

解决方案 »

  1.   

    这个问题无从下手!我感觉好像不简单呀!看来我真的是笨了!只有帮你UP一下!顺便做个MARK!~
      

  2.   

    (TControl((Sender as TEmbeddedWB)).Parent as TTabSheet).Free;
    不可以吗?
      

  3.   

    (TControl((Sender as TEmbeddedWB)).Parent as TTabSheet).Release;就搞定
      

  4.   

    free早就试过了,效果比=nil要差!
    To  wengj(六月雪)我没有找到
    (TControl((Sender as TEmbeddedWB)).Parent as TTabSheet).Release;
    只找到(TControl((Sender as TEmbeddedWB)).Parent as TTabSheet).FreeOnRelease;但是也不能解决!
      

  5.   

    (Sender as TEmbeddedWB).Navigate('about:blank');
    (Sender as TEmbeddedWB).Free;
    ((Sender as TEmbeddedWB).Parent as TTabSheet).Free;
      

  6.   

    应该是多页面浏览器吧?
    还要判断PageControl.PageCount是否大于1!
      

  7.   

    哦?TEmbeddedWB?改下:TControl(Sender as TEmbeddedWB).Navigate('about:blank');
    TControl(Sender as TEmbeddedWB).Free;
    (TControl(Sender as TEmbeddedWB).Parent as TTabSheet).Free;