为什么关闭父窗体 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;