运行我的已编译程序时出现错误。我已采取一切可能的预防措施来防止错误,例如在隐藏或集中显示表单之前启用表单。该应用程序显示一个DimmerForm
(灰色渐变叠加层),然后NewFileForm
在叠加层顶部。会NewFileForm
执行其工作并确定要制作的文件,并tabsheet
在上的页面控件中创建一个新文件,MainForm
并显示新创建的标签页。到目前为止,所有这些工作正常(我可以在NewFileForm
关闭之前中断,并且发生任何错误,并看到标签页已创建并成功显示)。在NewFileForm
随后关闭,这是再正常工作。
如果随后尝试将焦点重新设置为,就会发生错误MainForm
。隐藏DimmerForm
,或单击MainForm
,或将焦点设置为MainForm
穿透代码都将导致错误消息的出现。在放置代码{ try
,except
,end
}不防止错误消息任一。我已经在代码中搜索了所有其他可能由的聚焦触发的方法,MainForm
并且在错误发生之前没有输入任何方法(因此不会引起该错误)。
我在以前的应用程序版本中几乎编写了完全相同的代码,然后决定从头开始重新构建所有代码。该应用程序的先前版本在关注表单时毫不费力。
这是打开的代码NewFileForm
:
procedure TMainForm.NewFilesToolButtonClick(Sender: TObject);
begin
ShowDimmer;
NewFileForm.ShowModal;
HideDimmer;
end;
Run Code Online (Sandbox Code Playgroud)
这是显示调光器形式的代码:
procedure ShowDimmer;
begin
// Enable to prevent errors
DimmerForm.Enabled := true;
// Hide dimmer form and show mainform
DimmerForm.Show;
end;
Run Code Online (Sandbox Code Playgroud)
这是隐藏调光器形式的代码:
procedure HideDimmer;
begin
// Enable to prevent errors
DimmerForm.Enabled := true;
MainForm.Enabled := true;
// Hide dimmer form and show mainform
DimmerForm.Hide;
MainForm.SetFocus;
end;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22038 次 |
最近记录: |