读书人

为什么关闭父窗体 Self.Parent.Free;会

发布时间: 2012-03-12 12:45:33 作者: rapoo

为什么关闭父窗体 Self.Parent.Free;会出现错误
提示错误 abstract error


我是在RzPageControl1创建个form
vSheet := TRzTabSheet.Create(self);
vSheet.PageControl := self.RzPageControl1;
vForm := TForm2.Create(self);
vForm.FormStyle := fsNormal;
vForm.BorderStyle := Forms.bsNone;
vForm.Parent := vSheet;
vForm.Align := alClient;
vForm.Caption:=formCaption;
vForm.Show;
vSheet.Caption:= vForm.Caption;
RzPageControl1.ActivePage := vSheet;


然后在RzPageControl的子窗体form关闭RzPageControl1
procedure TForm2.Button1Click(Sender: TObject);
begin
close;
Self.Parent.Free;
end;

[解决办法]

Delphi(Pascal) code
procedure TForm2.Button1Click(Sender: TObject);var  p:Ttabsheet;begin  Self.Close;  p:=TTabSheet(Self.Parent);  Self.Parent:=nil;  //Self.Parent.Free;// 这个tab关闭不了啊  //APageControl.ActivePage.Destroy;// 这个还是出现 abstract error  p.free;end; 

读书人网 >.NET

热点推荐