问题现象:

请一段开发个项目 程序调试全部通过但测试时出现个问题 “out of memory” 在长时间运行时!后来终于解决 :很简单其实就是object.create时对象没有释放。

代码如下:

function SplitString(const Source,ch:string):TStringList;  //split 函数
var
  temp:String;
  i:Integer;
begin
  Result:=TStringList.Create;  //在这里建立 但无法释放 因为函数返回值是TStringList对象
  //如果是空自符串则返回空列表
  if Source=''
  then exit;
  temp:=Source;
  i:=pos(ch,Source);
  while i<>0 do
  begin
     Result.add(copy(temp,0,i-1));
     Delete(temp,1,i);
     i:=pos(ch,temp);
  end;
  Result.add(temp);
end;

问题原因:

因为新建对象后,未对其释放。

问题解决:

function  existsendlog (log:string;sendchangelog:TStringList):boolean;      //发送日志中是否存在日志名
  var j:integer;
  tempchangelogtxt,tempsendlogtxt:TStringList;
  resultval:boolean;
 begin
  resultval:=false;
  tempchangelogtxt:=SplitString(log,'|');
  for j:=0 to  sendchangelog.Count-1 do
  begin
  tempsendlogtxt:=SplitString(sendchangelog[j],'|');
  if  tempsendlogtxt[0]= tempchangelogtxt[0] then
  begin
    resultval:=true;
  end;
  if tempsendlogtxt<>nil then FreeAndNil(tempsendlogtxt);   //没解决前没加此行
  end;
  if   tempchangelogtxt<>nil then FreeAndNil(  tempchangelogtxt); //没解决前没加此行

Result:=resultval;
end;

加上上面两条释放问题立刻消失 !问题测试通过的!其它语言开发程序我想应该是一样的!

问题-Delphi 中使用TStringList后,报out of memory 的解决方法相关推荐

  1. WSL2中设置DNS后重启终端又失效的解决方法

    转载地址:https://www.xieshasha.love/wsldns.iiMemory WSL2 用着是挺好的,就是发现了一个问题,郁闷了好久,修改/etc/resolv.conf可以自己设置 ...

  2. go插件 vscode 报错_MacOS中 VSCode 安装 GO 插件失败问题的快速解决方法

    问题重现 Installing golang.org/x/tools/cmd/guru FAILED Installing golang.org/x/tools/cmd/gorename FAILED ...

  3. 周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,表中没有的课程列值为空的解决方法

    周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号.课程名称.选修人数,表中没有的课程列值为空的解决方法 实验前期准备 course表(课程表) 在其中: c ...

  4. jsp对弹出jsp传值 和刷新网页后js仍然没有刷新的解决方法

    jsp对弹出jsp传值 和刷新网页后js仍然没有刷新的解决方法 现在 从A.jsp弹出B.jsp,B.jsp包含B.js: 要从B.js访问到A.jsp中的变量的值: 弹出JSP的代码为: $('#m ...

  5. sqlyog for MySQL远程连接的时候报错mysql 1130的解决方法

    通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法 今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到. 错误代码是1130,ERROR 1130: ...

  6. ueditor上传大容量视频报http请求错误的解决方法

    故障现象: 当使用百度编辑器ueditor上传大容量视频或大容量图片的时候,编辑器报"http请求错误"的解决方法详解: 原因分析: 目前很多CMS整合了百度的ueditor编辑器 ...

  7. mysql5.7.20 sql mode_MySQL5.7中的sql_mode默认值带来的坑及解决方法

    在正常项目开发过程中,如果MySQL版本从5.6升级到5.7版本.作为DBA在考虑数据库版本升级带来的影响时,一般会有几个注意点: sql_mode optimizer_switch 本文主要内容是M ...

  8. 18c和12客户端 oracle,客户端连接 12、18c 报ORA-28040和ORA-01017 的解决方法

    客户端连接 12.18c 报ORA-28040和ORA-01017 的解决方法 问题描述 oracle18c 数据库已经发布,在安装Oracle 18c数据库之后,客户端目前一般还是停留在10G.11 ...

  9. Oracle 报错 28000原因和解决方法

    Oracle 报错 28000原因和解决方法 使用PLSQL登录Oracle数据库时提示"ORA-28000:这个帐号被锁定". 出现这个问题的原因是:在Oracle databa ...

最新文章

  1. linux 文件查找命令集:find,locate,wheres,which,type
  2. VS2005中ajax安装指南[转]
  3. python星期计算_Python简单计算给定某一年的某一天是星期几示例
  4. 浅析响应式网站建设的注意要点
  5. 1951: [Sdoi2010]古代猪文
  6. Linux deepin下普通用户免密切换至root用户
  7. 手动写sonar 插件
  8. 【PAT - 甲级1007】Maximum Subsequence Sum (25分)(前缀和)
  9. 使用GDAL下载并转换SRTM的DEM数据(一)
  10. 目标检测YOLO系列论文对比
  11. macbook更新系统服务器,苹果电脑如何升级系统_苹果电脑怎么更新版本-win7之家...
  12. MAX30102 模拟IIC读取程序(C语言)
  13. 阿里云OSS对象存储服务
  14. 如何利用微博热门提高引流效率
  15. 给一个大表增加一个字段,带默认值
  16. FASTQ文件详解【转】
  17. dwz打开自定义dialog
  18. C++ primer plus程序2.2《carrots.cpp》
  19. 前端开发常用案例(一)
  20. 八皇后问题理解与解决

热门文章

  1. Realtek WiFi SDK 被曝多个漏洞,影响供应链上至少65家厂商近百万台IoT设备
  2. 苹果 “Find My” 功能中的漏洞可暴露用户的位置信息
  3. 这个严重的无补丁 UPnP 漏洞影响几乎所有的IoT设备:绕过安全系统、扫描LANs
  4. 微软推出 Xbox 漏洞奖励计划,最高奖励2万美元
  5. 成都睿铂x云南省地矿测绘院:丽江玉龙高精度地籍免像控案例分享
  6. 超详细Gitlab Runner环境配置中文教程
  7. linux 下nginx应用场景的tcp内核调优
  8. java.lang.IllegalArgumentException: Must specify o
  9. 【linux】常用命令总结
  10. select元素javascript常用操作(转载)