【发布时间】:2012-03-17 17:46:38
【问题描述】:
我已经在我的 delphi 项目中添加了一些代码来与注册表交互,使用我在网上找到的一些教程来指导我的工作。我见过的每个例子似乎都使用这种结构来访问他们的注册表:
var
Registry: TRegistry;
begin
try
Registry := TRegistry.Create;
//additional code to access and use the registry object could go here
finally
Registry.Free;
end;
但是当我按照该结构实现我的代码时,我收到一个警告,我的变量 Registry 可能没有在我释放 TRegistry 对象的那一行被初始化。
所以,我想知道我发现的示例在访问注册表的正确方式上是否是错误的。无论创建是否成功,我是否应该在我的 TRegistry 对象上调用 Free,而忽略警告?相反,我的 try/finally 块是否应该只在成功的构造函数调用之后包围代码,而不是包装 create 调用?还有什么?
【问题讨论】: