我有一个简单的程序,有两个表单,一个主表单和一个设置表单。显然,设置表单允许用户更改设置。我有一个设置单元,其初始化部分从文件中读取设置。
当程序首次安装并首次启动时,设置将为空,如果是这样,我想显示设置表单。问题是在哪里放置检查和调用代码。
我的 Application.lpr 包含
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TSettingsForm, SettingsForm);
Application.Run;
end.
我的设置单元大致是这样的
uses
Classes, SysUtils, INIFiles;
type
TSettings = class
public
procedure LoadFromFile();
procedure SaveToFile();
...
end;
var
Settings: TSettings;
implementation
{ TSettings }
...
initialization
Settings := TSettings.Create;
Settings.LoadFromFile();
finalization
Settings.SaveToFile();
FreeAndNil(Settings);
end.
如果我在 MainForm.FormCreate 中检查空设置,我将无法显示设置表单,因为它尚未创建。
我看不到如何在 Application.lpr 中做到这一点,因为那里没有明显的变量来引用 SettingsForm 实例。无论如何,把它放在那里感觉不对。
假设仅在SettingsForm 完全初始化并准备好显示后调用,我可以在 SettingsForm.FormCreate 中进行此检查吗?可以打电话
Show()
吗FormCreate()
?我不确定我的设置类型何时被实例化。
是否有任何想法、指南设计模式或其他材料可以用来确定将我的空设置检查放在哪里?