如何释放控件数组其中的一个(该控件的释放是由于其父类被释放而产生的)(100分)

  • 主题发起人 主题发起人 lcdjj
  • 开始时间 开始时间
L

lcdjj

Unregistered / Unconfirmed
GUEST, unregistred user!
我在其释放后对其赋空值也是出错,这为什么呢?
 
源码先!
 
WBCount:Integer;
web:array[0..100] of TWebBrowser;
wb:TWebBrowser; tab:TTabSheet;
建立时
tab:=TTabSheet.Create(Self);//tab为我建立的新页
tab.PageControl:=PageControl1;
tab.Align:=alClient;
tab.Tag:=WBCount;//wbcount为数组控件现在的使用的个数
wb:=TWebBrowser.CreateParented(Self.ParentWindow);//wb为TwebBrowser
tab.InsertControl(wb);
wb.Tag:=WBCount;
wb.Align:=alClient;
ppdisp:=wb.DefaultDispatch;
wb.OnDownloadBegin:=WebBrowser1.OnDownloadBegin;
wb.OnDownloadComplete:=WebBrowser1.OnDownloadComplete;
wb.OnNewWindow2:=WebBrowser1.OnNewWindow2;
wb.OnProgressChange:=WebBrowser1.OnProgressChange;
wb.OnTitleChange:=WebBrowser1.OnTitleChange;
web[WBCount]:=wb;
isover[WBCount]:=False;
PageControl1.ActivePage:=tab;
Form1.Caption:=inttostr(WBCount);
WBCount:=WBCount+1;
释放时
if Assigned(PageControl1.Pages[n]) then
PageControl1.Pages[n].Free;
web[n]:=nil;//n为要释放的控件的下标
 
看来看去好象没有问题,是不是下面这种小的忽略?
if Assigned(PageControl1.Pages[n]) then <font color=red>begin</font>
PageControl1.Pages[n].Free;
web[n]:=nil;//n为要释放的控件的下标
<font color=red>end;</font>
 
我试过了好像还不行,吕雪松我把程序发给你,你帮我看一下。十分感谢!
 
CreateParented
好像用于建立在非delphi vcl窗体上时使用!
不知道是否与此有关?
 
对不起,这种算法是没毛病是我在其它地方错了,谢谢你们的帮助
 
接受答案了.
 
后退
顶部