В Delphi 7 создание объекта было следующим:
A := TTest.Create;
try
...
finally
A.Free;
end;
Однако в блоге Марко Канти говорит, что в Эмберкадеро они используют
A1 := nil;
A2 := nil;
try
A1 := TTest.Create;
A2 := TTest.Create;
...
finally
A2.Free;
A1.Free;
end;
Было ли что-то изменено в логике попытки окончательно заблокировать во время обновления версии? Второй пример кажется типичной ошибкой для меня!