相关疑难解决方法(0)

做嵌套TRY/FINALLY语句的最佳实践

嗨,在delphi中执行嵌套try和finally语句的最佳方法是什么?

var cds1  : TClientDataSet;
    cds2  : TClientDataSet;
    cds3  : TClientDataSet;
    cds4  : TClientDataSet;
begin
  cds1      := TClientDataSet.Create(application );
  try
    cds2      := TClientDataSet.Create(application );
    try
      cds3      := TClientDataSet.Create(application );
      try
        cds4      := TClientDataSet.Create(application );
        try
        ///////////////////////////////////////////////////////////////////////
        ///      DO WHAT NEEDS TO BE DONE
        ///////////////////////////////////////////////////////////////////////
        finally
          cds4.free;
        end;

      finally
        cds3.free;
      end;
    finally
      cds2.free;
    end;
  finally
    cds1.free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

你能建议一个更好的方法吗?

delphi memory-management object-lifetime try-finally

20
推荐指数
2
解决办法
5323
查看次数

如何自动释放类/对象?

有哪些技术可以自动释放delphi应用程序中的对象?

delphi

12
推荐指数
5
解决办法
4423
查看次数