急急!!!我要把一个TListBox中的所有项移到另一个TListBox中去,每一项都很长,可是移到一部分后,总是自动死亡,跟调的信息是地址访问错,应该是出在内

  • 主题发起人 主题发起人 blueshine
  • 开始时间 开始时间
B

blueshine

Unregistered / Unconfirmed
GUEST, unregistred user!
急急!!!我要把一个TListBox中的所有项移到另一个TListBox中去,每一项都很长,可是移到一部分后,总是自动死亡,跟调的信息是地址访问错,应该是出在内存不足,请问如何移动而不出问题(50分)<br />我要把一个TListBox中的所有项移到另一个TListBox中去,每一项都很长,可是移到一部分
后,总是自动死亡,跟调的信息是地址访问错,应该是出在内存不足,请问如何移动而不出
问题
 
用 ListBox1.Assign() 试一试
 
ListBox1.Items.Assign
or
...
ListBox1.Items.SaveToStrem(AStream)
ListBox1.Items.LoadFromStream(AStream)

 
楼上的用法都试过,不行,有没有其他办法啊
 
把这部分代码给出来看看,不信这个邪
 
代码因该没问题,问题应该出在数据上,数据是比较有规律的,每一项是由相关的原子项组成
的字符串,都很长,我想知道有没有其他的算法,代码很简单的

ListRig.Items.Assign(ListLef.Items);
ListLef.Items.Clear;
 
问题应该出在字符串上,看看有没有非法字符。比如不可见或结束符。
另外这么简单的语句无法跟调,想要验证是不是字符串问题可把每个都读出来再放回去。
语句没问题,内存也不是那么轻易会被熬干的。
 
同意楼上的看法。
正常数据5万项,每项平均40个字符是没问题的,我试过。
注释的不用管。
sList := TStringlist.Create;
sList.Assign(lb.Items);
// for i:=0 to sList.Count -1 do
// sList := tran(sList);
lb.Clear;
lb.Items.Assign(sList);
 
把代码帖出来啊
 
assign 不行吗?
或用流试一下。
只加入当前显示的行,其它的用到时动态加载
 
谢谢各位的意见,我又做了跟调,并对比了数据
1。数据中从在乱码
2。最长的数据竟然有4500个字符,即大约2250个汉字(呵呵,吓我一跳,这么长)
3。每次出错时,根据CPU数据的现实,数据指针已经指飞了
结贴喽
 
后退
顶部