您如何看待这种编程实践: - 我需要在第一个表单中执行一个事务,然后强制执行一些更新,这些更新被放置在另一个表单中(对于在另一个表单中显示的每个项目)。即,它就像显示该表单并单击某个按钮。因为从第二种形式执行这些功能是强制性的,所以我想在不显示第二种形式的情况下这样做。这是良好的编程习惯还是您有其他建议?
另外,在ShowModal之前为第二种形式设置 property> Visible:=False就足够了,还是我需要做一些其他的动作?
嗯,有一个你不显示的表格是不寻常的。通常,您将业务逻辑与 UI 分开。
要回答您的问题,我认为您根本不需要致电 ShowModal。只需在表单类上定义一个方法并调用它。最终,表单只是 Delphi 对象,您可以这样使用它们。如果您不想显示它们,请不要调用 ShowModal 或 Show。
第二个问题首先:设置Visible := False
没有任何好处,因为所有 ShowXXX 方法的重点是使表单可见。正如大卫所说,您可以执行这些操作而根本不调用 Show,当然前提是您的表单不依赖任何代码OnActivate
或OnShow
代码来正确完成工作。
至于这是否是个好主意,我说不!
正确的方法
上述方法将在未来为您省去巨大的麻烦。