封闭的Windows保留他们的价值观/选择

4 windows delphi user-interface

我的应用程序有几种不同的形式.从主窗体我可以打开许多其他窗体,我使用以下命令显示所选窗口:

frmConversions.ShowModal;
Run Code Online (Sandbox Code Playgroud)

一旦用户完成了他们需要在该窗口中执行的操作并关闭该窗口,我将使用以下命令关闭窗口:

frmConversions.Close;
Run Code Online (Sandbox Code Playgroud)

但是,如果用户返回到frmConversions,则仍会选择/输入之前选择的设置.我是否正确处理多个窗口,如果是这样,我如何停止保留数据?

No'*_*man 9

这取决于您如何创建表单.如果您自动创建表单,那么它将在程序的生命周期中存在,因此将保留存储在表单变量中的任何值.但是,如果您在需要时创建模态表单并在之后释放它们(就像自定义一样),则不会存储值.这样就完成了

with TFrmConversions.Create(nil) do
  try
    ShowModal;
  finally
    Free;
  end;
Run Code Online (Sandbox Code Playgroud)

  • 上面的代码段非常惯用,我怀疑即使大多数通常不赞同`with`语句的人也会觉得它是可以接受的(我是那些*通常会批准它的人之一). (4认同)
  • 我不喜欢这里,但这是个人喜好 (2认同)