В моем приложении я работаю со средой выполнения TLabel объектов.
Есть проблема: представление 20 меток занимает много времени (около 1-2 секунд).
DoubleBuffered для родительского компонента не помогает. Application.ProcessMessages позволяет только наблюдать за процессом создания, а не смотреть в замороженное окно.
// creating a labels in loop
aLabel:=TLabel.Create(scrlbx);
labels.Add(aLabel); // TList for managing.
with aLabel do begin
Left:=pointLeft;
Top:=pointTop;
Caption:='title';
parent:=scrlbx; //TScrollBox
end;
pointTop:=pointTop+20;
Вывод родительского назначения из цикла другому циклу после дает некоторый эффект, но не решает проблему.
for I := 0 to labels.Count-1 do begin
TLabel(labels[i]).Parent:= scrlbx;
end;
Отключение и включение TScrollBox.Visible циклов до и после не влияет.
PS: Создание объектов не занимает много времени. Узким местом является родительское назначение.
upd: большое количество означает около 500 штук..


