------------ Дoбавленo в 16.22:
Короче, вот такой метод doLoad, добавленный в ListBox, загружает файл в 1,8 Мб за 0,27 сек, вместо 6,5 сек раньше.
procedure THIListBox._work_doLoad;
var
fn:string;
Lst:PStrList;
i:integer;
begin
fn := ReadString(_Data,_data_FileName,_prop_FileName);
if FileExists(fn) then
begin
Control.Perform(WM_SETREDRAW, 0, 0);
Control.Clear;
Lst := NewStrList;
Lst.LoadFromFile(fn);
if Lst.Count = 0 then exit;
Control.Perform(LB_INITSTORAGE, 0, Length(Lst.Text));
for i := 0 to Lst.Count - 1 do
Control.Perform(LB_ADDSTRING, 0, cardinal(PChar(Lst.Items[i])));
Lst.Free;
Control.Perform(WM_SETREDRAW, 1, 0);
_hi_CreateEvent(_Data,@_event_onChange);
end;
end;
Что делать будем
------------ Дoбавленo в 16.50:
Немного ускорил