关于关闭子窗口的问题?急!(200分)

  • 主题发起人 主题发起人 jiefeij
  • 开始时间 开始时间
to ysai:
我把主要的几个过程粘到这里,你帮我看看
procedure CloseMyForm;
var
i: integer ;
begin
if frmmain.ActiveMDIChild <>nil then
begin
frmmain.ActiveMDIChild.Close;
frmmain.ActiveMDIChild.Free ;
if frmmain.ActiveMDIChild <>nil then
frmmain.ActiveMDIChild.WindowState :=wsMaximized
else
frmMain.ListView1.Visible:=true;
end;
end;
这是上面有的
另外我有三个子窗体,A1,A2,A3
A1窗口中打开A2,在A2窗口中打开A3,能后依次关闭时,就会出现问题。
打开窗体过程:只帖出一个。
procedure TfrmCustomTransQ.N2Click(Sender: TObject);
var
FrmAcc: TfrmAccountQ;
begin
if (not ADOStoredProc1.Active) or (ADOStoredProc1.Eof) then
begin
exit;
end;
try
frmMain.ListView1.Visible:=true;
FrmAcc := TfrmAccountQ.Create(Application);
CurrentForm := FrmAcc;
FrmAcc.BorderIcons := [];
FrmAcc.WindowState := wsMaximized;
FrmAcc.accno.Caption:=ADOStoredProc1.fieldbyname('帐号').AsString;
frmacc.accno.Visible :=true;
frmacc.Label3.Visible :=true;
frmacc.RadioButton3.Checked :=true;
frmacc.Edit3.Text :=frmacc.accno.Caption ;
FrmAcc.GroupBox1.Visible := false;
FrmAcc.Panel5.Visible := true;
frmacc.MenuItem1.Enabled :=false;
FrmAcc.SpdOKClick(nil);
FrmAcc.lblID.Caption:=frmacc.ADOStoredProc1.fieldbyname('身份证号').AsString;
FrmAcc.lblName.Caption:=frmacc.ADOStoredProc1.fieldbyname('姓名').AsString;
frmacc.MenuItem1.Enabled :=false;
if not n1.Enabled then frmacc.N1.Enabled :=false;
frmMain.ListView1.Visible:=false;
except
Application.MessageBox('窗体调用错误!','错误',MB_ICONERROR);
end;
end;
 
Dark Angel:但是我把报表控件去掉,还是一样的呀
 
我的问题解决了,谢谢各位,不好意思,其实是我内部控件调用外部关闭窗口,并把他
FREE掉时,引起的逻辑上的错误。
 
多人接受答案了。
 
后退
顶部