alien308 писал(а):BeginUpdate, EndUpdate, что делают?
Если жамкнуть по нему мышкой с ctrl, то можно посмотреть, что они делают:
Код: Выделить всё
Procedure TStrings.BeginUpdate;
begin
if FUpdateCount = 0 then SetUpdateState(true);
inc(FUpdateCount);
end;
Procedure TStrings.EndUpdate;
begin
If FUpdateCount>0 then
Dec(FUpdateCount);
if FUpdateCount=0 then
SetUpdateState(False);
end;
А затем путем нехитрых поисков по коду можно увидеть, что при каждом изменении списка вызывается это:
Код: Выделить всё
procedure TStringList.Changed;
begin
If (FUpdateCount=0) Then
begin
If Assigned(FOnChange) then
FOnchange(Self);
FPONotifyObservers(Self,ooChange,Nil);
end;
end;