问题-Delphi 中使用TStringList后,报out of memory 的解决方法
问题现象:
请一段开发个项目 程序调试全部通过但测试时出现个问题 “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 的解决方法相关推荐
- WSL2中设置DNS后重启终端又失效的解决方法
转载地址:https://www.xieshasha.love/wsldns.iiMemory WSL2 用着是挺好的,就是发现了一个问题,郁闷了好久,修改/etc/resolv.conf可以自己设置 ...
- go插件 vscode 报错_MacOS中 VSCode 安装 GO 插件失败问题的快速解决方法
问题重现 Installing golang.org/x/tools/cmd/guru FAILED Installing golang.org/x/tools/cmd/gorename FAILED ...
- 周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,表中没有的课程列值为空的解决方法
周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号.课程名称.选修人数,表中没有的课程列值为空的解决方法 实验前期准备 course表(课程表) 在其中: c ...
- jsp对弹出jsp传值 和刷新网页后js仍然没有刷新的解决方法
jsp对弹出jsp传值 和刷新网页后js仍然没有刷新的解决方法 现在 从A.jsp弹出B.jsp,B.jsp包含B.js: 要从B.js访问到A.jsp中的变量的值: 弹出JSP的代码为: $('#m ...
- sqlyog for MySQL远程连接的时候报错mysql 1130的解决方法
通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法 今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到. 错误代码是1130,ERROR 1130: ...
- ueditor上传大容量视频报http请求错误的解决方法
故障现象: 当使用百度编辑器ueditor上传大容量视频或大容量图片的时候,编辑器报"http请求错误"的解决方法详解: 原因分析: 目前很多CMS整合了百度的ueditor编辑器 ...
- mysql5.7.20 sql mode_MySQL5.7中的sql_mode默认值带来的坑及解决方法
在正常项目开发过程中,如果MySQL版本从5.6升级到5.7版本.作为DBA在考虑数据库版本升级带来的影响时,一般会有几个注意点: sql_mode optimizer_switch 本文主要内容是M ...
- 18c和12客户端 oracle,客户端连接 12、18c 报ORA-28040和ORA-01017 的解决方法
客户端连接 12.18c 报ORA-28040和ORA-01017 的解决方法 问题描述 oracle18c 数据库已经发布,在安装Oracle 18c数据库之后,客户端目前一般还是停留在10G.11 ...
- Oracle 报错 28000原因和解决方法
Oracle 报错 28000原因和解决方法 使用PLSQL登录Oracle数据库时提示"ORA-28000:这个帐号被锁定". 出现这个问题的原因是:在Oracle databa ...
最新文章
- linux 文件查找命令集:find,locate,wheres,which,type
- VS2005中ajax安装指南[转]
- python星期计算_Python简单计算给定某一年的某一天是星期几示例
- 浅析响应式网站建设的注意要点
- 1951: [Sdoi2010]古代猪文
- Linux deepin下普通用户免密切换至root用户
- 手动写sonar 插件
- 【PAT - 甲级1007】Maximum Subsequence Sum (25分)(前缀和)
- 使用GDAL下载并转换SRTM的DEM数据(一)
- 目标检测YOLO系列论文对比
- macbook更新系统服务器,苹果电脑如何升级系统_苹果电脑怎么更新版本-win7之家...
- MAX30102 模拟IIC读取程序(C语言)
- 阿里云OSS对象存储服务
- 如何利用微博热门提高引流效率
- 给一个大表增加一个字段,带默认值
- FASTQ文件详解【转】
- dwz打开自定义dialog
- C++ primer plus程序2.2《carrots.cpp》
- 前端开发常用案例(一)
- 八皇后问题理解与解决
热门文章
- Realtek WiFi SDK 被曝多个漏洞,影响供应链上至少65家厂商近百万台IoT设备
- 苹果 “Find My” 功能中的漏洞可暴露用户的位置信息
- 这个严重的无补丁 UPnP 漏洞影响几乎所有的IoT设备:绕过安全系统、扫描LANs
- 微软推出 Xbox 漏洞奖励计划,最高奖励2万美元
- 成都睿铂x云南省地矿测绘院:丽江玉龙高精度地籍免像控案例分享
- 超详细Gitlab Runner环境配置中文教程
- linux 下nginx应用场景的tcp内核调优
- java.lang.IllegalArgumentException: Must specify o
- 【linux】常用命令总结
- select元素javascript常用操作(转载)