检查IniFile描述符是否已打开

时间:2013-07-04 04:05:45

标签: windows delphi file-descriptor

我有一个小应用程序,它将其设置存储在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);

提前致谢。

1 个答案:

答案 0 :(得分:3)

欢迎使用Assigned,但不检查变量是否引用有效的对象实例。 没有。相反,Assigned只检查变量是否为空。要使其成为有效检查,请在释放它引用的对象时使变量为null:

configIni.Free;
configIni := nil;

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