将释放写在子窗体的FORMCLOSE()里面
procedure TFormLogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
FormLogin := nil;
end;
关闭TABSHEET的时候,遍历找到它里面的窗体,然后调用窗体的close()方法
procedure TFormMain.CloseTabsheet;
var
i: Integer;
begin
if RzPageControl1.PageCount <= 0 then Exit;
if RzPageControl1.ActivePage = nil then exit;
for i := 0 to RzPageControl1.ActivePage.ControlCount - 1 do
if RzPageControl1.ActivePage.Controls[i] is TForm then
begin
TForm(RzPageControl1.ActivePage.Controls[i]).Close;
Break;
end;
RzPageControl1.ActivePage.PageControl := nil;
RzPageControl1.ActivePage.Free;
RzPageControl1.SelectNextPage(true);
end;