Предупреждение о возможной инициализации переменной Delphi

Я добавил некоторый код в свой проект 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, возможно, не была инициализирована в строке, где я освобождаю Объект реестра.

Итак, мне интересно, не являются ли найденные мной примеры правильным способом доступа к реестру. Должен ли я вызывать Free для моего объекта TRegistry независимо от того, удалось ли создать, и просто игнорировать предупреждение? Должен ли вместо этого мой блок try/finally окружать только код после успешного вызова конструктора, но не оборачивать вызов создания? Что-то еще?

10
задан Jessica Brown 17 March 2012 в 17:46
поделиться