delphi的listview控件很吃内存,装入60多k的数据居然就占了几十兆内存,如何解决?

westdog 2000-08-16 05:44:00
delphi的listview控件很吃内存,装入60多k的数据居然就占了几十兆内存,如何解决?
...全文
432 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
westdog 2000-08-26
  • 打赏
  • 举报
回复
声明:我的程序绝对没有问题,while当然不能简单的用一个循环变量来控制.后来我发现是因为delphi的string在做了一定操作之后,传入listview时,会生成一份新的拷贝,于是我用pchar来传入,就不会吃内存了
Sayhigh 2000-08-25
  • 打赏
  • 举报
回复
你的循环一定有问题.
JGTM2000 2000-08-24
  • 打赏
  • 举报
回复
我试验过了,没有问题。另外如果有非常大量的(或者异步)数据,建议使用virtual listview。
PoolD 2000-08-21
  • 打赏
  • 举报
回复
那就用for好了。
pjy 2000-08-21
  • 打赏
  • 举报
回复
关注!这个问题如果是真的,值得好好分析一下!
govy 2000-08-21
  • 打赏
  • 举报
回复
关注
supercow 2000-08-19
  • 打赏
  • 举报
回复
嗨呀,干脆删了delphi用VF。
Putao 2000-08-19
  • 打赏
  • 举报
回复
关注
westdog 2000-08-17
  • 打赏
  • 举报
回复
以我的水平,这段程序是不会有bug的,我简单描述一下。
while <statement> do
begin
<some>
with listview1.add do
begin
imageindex:=0;
caption:='content';
subitems.add('date');
subitems.add('sendtype');
subitems.add('person');
end;
end;
大概有一千多条纪录,加入后内存就有几十兆。注释掉该段代码就不吃内存
但是如果同样简单的用for i:=0 to 1000 来添加同样多的纪录就不会吃内存。
torent 2000-08-17
  • 打赏
  • 举报
回复
虫子还挺大:)
w102272 2000-08-17
  • 打赏
  • 举报
回复
决无可能,肯定是你的程序那里长了虫子,把你的那段程序贴出来看看吧。
dragoncircle 2000-08-17
  • 打赏
  • 举报
回复
你拿它来干什么,能说详细一点吗?
wxz 2000-08-17
  • 打赏
  • 举报
回复
不会吧,我没有遇到过
shines77 2000-08-16
  • 打赏
  • 举报
回复
那就用API吧,我有范例,不过是VB的:(
你想要吗?
jumphigh 2000-08-16
  • 打赏
  • 举报
回复
不会吧
那你不着崩溃了

为什么不用数据库的专用的dngrid
呵呵

我随边胡说的:)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧