如果有一个对象(在我的情况下是 TJSONData)并且我想释放这个对象,程序流有时会挂在这个位置。我的代码中已经有如下构造,但有时它似乎不适合这种情况:
if Assigned(MyRecord.MyJSONData) then
begin
MyRecord.MyJSONData.Free;
end;
如果我尝试释放一个对象两次,我可以在测试中重现这种行为。在我的程序中,这通常不应该发生,但现在我真正的问题是:
有没有办法检查对象是否已经空闲?还是我还需要使用 FreeAndNil();?