zoukankan      html  css  js  c++  java
  • 使用RemObject遇到的问题

    在服务函数中用Var用参数关键字时,比如
    function TEMISLogic.UpdateMenu(var OldFields: TEMISFields): Boolean;
    begin
      Result :
    = False;
      try
        Result :
    = FEMISS.UpdateMenu(OldFields);
      except
        on E : Exception 
    do
        
    begin
          FEMISCommon.ErrorDlg(e.Message);
          Exit;
        
    end;
      
    end;
    end;

    参数中TEMISFields为RemObject的Array类型,程序运行没有任何问题一切OK,但就是有内存泄漏,一直找原因就是找不到,后来突发奇想,再添一个变量代码如下
    function TEMISLogic.UpdateMenu(var OldFields: TEMISFields): Boolean;
    var
      Fields: TEMISFields;
    begin
      Result :
    = False;
      try
        Fields := OldFields;

        Result :
    = FEMISS.UpdateMenu(Fields);
        FreeAndNil(Fields);
      except
        on E : Exception 
    do
        
    begin
          FEMISCommon.ErrorDlg(e.Message);
          Exit;
        
    end;
      
    end;
    end;
    红色部分是后来添加的,没想到这样就解决了内存泄漏,不知道有没有高手跟我说说原因。
  • 相关阅读:
    ASP.NET Core 静态资源的打包与压缩
    算法
    字符串反转
    js 获取随机数
    AspNetCore MVC 跨域
    add digits
    1-bit and 2-bit Characters
    删除字符串中出现次数最少的字符
    洗牌
    哈夫曼编码
  • 原文地址:https://www.cnblogs.com/sonicit/p/1045531.html
Copyright © 2011-2022 走看看