我的MDI应用程序
begin
Application.Initialize;
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
end.FrmMain.FormCreate(Sender: TObject)
begin
Application.CreateForm(TFrmDataModule, FrmDataModule);
if FrmDBConfig.ModalResult=mrok then
self.show;
end;FrmDataModule.FormCreate(Sender: TObject)
begin
if 数据连接失败 then
begin
Application.CreateForm(TFrmDBConfig, FrmDBConfig);
FrmDBConfig.showModal; //弹出连接配置窗口
end;
end;FrmDBConfig.BtnSave(Sender: TObject)
begin
完成数据连接配置
..........
ModalResult:=mrok;
end;FrmDBConfig是不是MDI的子窗口,在我完成数据联军诶点保存按钮时配置完成了,可是程序为什么会中止,谁能告诉我哪里出问题了?
begin
Application.Initialize;
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
end.FrmMain.FormCreate(Sender: TObject)
begin
Application.CreateForm(TFrmDataModule, FrmDataModule);
if FrmDBConfig.ModalResult=mrok then
self.show;
end;FrmDataModule.FormCreate(Sender: TObject)
begin
if 数据连接失败 then
begin
Application.CreateForm(TFrmDBConfig, FrmDBConfig);
FrmDBConfig.showModal; //弹出连接配置窗口
end;
end;FrmDBConfig.BtnSave(Sender: TObject)
begin
完成数据连接配置
..........
ModalResult:=mrok;
end;FrmDBConfig是不是MDI的子窗口,在我完成数据联军诶点保存按钮时配置完成了,可是程序为什么会中止,谁能告诉我哪里出问题了?
begin
Application.CreateForm(TFrmDataModule, FrmDataModule);
if FrmDBConfig.ModalResult=mrok then
self.show;
end;这一段有问题,如果刚开始FrmDBConfig.ModalResult<>mrok那么主程序就中止了,应该把显示主窗口的代码放在 FrmDBConfig.BtnSave(Sender: TObject)里面就OK了!
FrmMain.FormCreate(Sender: TObject)
begin
Application.CreateForm(TFrmDataModule, FrmDataModule);
try
连接数据库;
except
Application.CreateForm(TFrmDBConfig, FrmDBConfig);
if FrmDBConfig.showModal = mrOK then //弹出连接配置窗口
self.show;
end;
end;