【发布时间】:2010-10-16 13:22:46
【问题描述】:
我有一个 MDI 主(父)窗体和一个 MDI 子窗体。我在运行时像这样创建孩子:
VAR
FrmDereplic: TFrmDereplic;
procedure TMainFrm.Button2Click(Sender: TObject);
begin
FrmDereplic:= TFrmDereplic.Create(MainFrm);
FrmDereplic.Show;
end;
重现错误的步骤:
我启动应用程序,按按钮创建子项,按主(父)表单上的“x”按钮关闭应用程序,我收到“无法创建表单。当前没有 MDI 表单处于活动状态”错误。
出现错误的行在子窗体中:
procedure TFrmDereplic.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:= caFree;
end;
procedure TFrmDereplic.FormDestroy(Sender: TObject);
VAR MyIniFile: TCubicIniFile;
begin
MyIniFile:= TCubicIniFile.Create(AppINIFile);
TRY
with MyIniFile DO
begin
if WindowState<> wsMaximized then
begin
// save form's screen pos
...
end;
WriteInteger ('Dereplicator', 'fltExtensions', fltExtensions.ItemIndex); <----- HERE
FINALLY
FreeAndNil(MyIniFile);
END;
end;
我将许多表单的属性(和其他控件的属性)保存到 INI 文件中。但只有当我尝试保存 fltExtensions.ItemIndex (这是一个 TFilterComboBox)时它才会失败。如果我评论那条线,它就完美了。
知道为什么当我实际关闭应用程序时它会尝试创建一个表单?????????
【问题讨论】:
标签: delphi