我在下面有这个示例方法
procedure ReadData(var data:TDataSet)
begin
if Assigned(data) then
data.Free;
data:=TDataSet.Create(nil);
....
end;
.....
procedure SomethingProcedure()
var
dataSet:TDataset;
begin
ReadData(dataSet);
end;
如果我调试并在分配检查上放置断点,则始终执行 data.Free,并且我在监视列表中看到,数据始终无法访问值
我的观点是,SomethingProcedure 是对许多其他过程的访问,如果它已分配(已创建 TDataset 对象),我想要 data 参数,首先释放它,但如果未分配(未创建对象),则 free 命令不会执行,但 free 语句始终执行,无论是否创建“数据”对象
我如何检查我的对象是否已经创建