0

我有一个小应用程序,将其设置存储在 INI 文件中。当另一个表单打开时,我关闭 INI 文件描述符:

procedure TIndexForm.startButtonClick(Sender: TObject);
var
  workForm : TForm;
begin

  workForm := TworkingForm.Create(nil);
  workForm.Show();

  configIni.Free; // freeing IniFile desciptor
  IndexForm.Hide();

end;

以及如何检查描述符是否仍然打开?像这样(代码不起作用):

if not Assigned configIni then
  configIni := TIniFile.Create(configPath);

提前致谢。

4

1 回答 1

3

欢迎您使用Assigned,但它不会检查变量是否引用了有效的对象实例。什么都没有。相反,Assigned只是检查变量是否为空。要进行有效检查,请在释放它引用的对象时将变量设为 null:

configIni.Free;
configIni := nil;

如果需要,您可以使用FreeAndNil辅助函数;它的作用比我上面写的要多。

于 2013-07-04T04:49:09.063 回答