Вопросик такой.
При запуске программы все нормально, но после загрузки строк в listview компоненты перестали реагировать на изменение размеров формы (правая привязка).
При этом если строк для загрузки мало то все ок, а если много то вот такие проблемы.
Подскажите кто в курсах.
- Код: Выделить всё
procedure tload.Execute; // поток для загрузки
var
s,s1: string;
sl: tstringlist;
i,g: integer;
begin
with form1 do
begin
lv1.Items.BeginUpdate; // listview
readlist.Clear;
sl:=tstringlist.Create;
sl.LoadFromFile(utf8toansi(od1.FileName));
label1.Caption:=inttostr(length(sl.Text));
while sl.Count>0 do
begin
s:=ansitoutf8(sl[0]);
i:=0;
g:=length(s);
if g>0 then
begin
while g>0 do
begin
i:=pos('. ',s);
if i=0 then i:=pos('! ',s);
if i=0 then i:=pos('? ',s);
if i=0 then
begin
s1:=s;
s:='';
end else
begin
s1:=copy(s,1,i);
s:=copy(s,i+1,g-i);
end;
s1:=trim(s1);
with lv1.Items.Add do Caption:=s1;
g:=length(s);
end;
end else with lv1.Items.Add do Caption:='';
label2.Caption:=inttostr(lv1.Items.Count);
sl.Delete(0);
end;
sl.Free;
label2.Caption:=inttostr(lv1.Items.Count);
progressbar1.Max:=lv1.Items.Count;
progressbar1.Position:=0;
lv1.Items.EndUpdate;
button1.Enabled:=true;
end;
end;
Добавлено спустя 13 минут 23 секунды:
Сам проект прикрепил во вложение. (без словаря из за размера).
Добавлено спустя 3 часа 29 минут 17 секунд:
Решил проблему с помощью listview ownerdata.
Правда взаймосвязь так и не уловил!