我在TMemo中有100000行。我想做类似的事情:TMemo在处理大量行时非常缓慢
for i:= 0 to Memo.Lines.Count-1 do
Memo.Lines[i]:= SomeTrim(Memo.Lines[i]);
但速度是每秒0.5行!!
添加BeginUpdate/EndUpdate后,我没有看到任何速度改进。
Memo.Lines.BeginUpdate;
for i:= 0 to Memo.Lines.Count-1 do
Memo.Lines[i]:= SomeTrim(Memo.Lines[i]);
Memo.Lines.EndUpdate;
我的问题是为什么BeginUpdate/EndUpdate不会帮助?
不好的用户会滚动这样的备忘录。 – Victoria
PS:目前的解决方案是将行分配给TStringList,处理它们并将它们放回备忘录。但我仍然好奇为什么BeginUpdate不起作用。 – Ampere
@维多利亚 - 用户将把那些线放在那里。通常情况下,我预计在100行以下。我想测试看看100000会发生什么情况。这就是发生了什么事情。 – Ampere