سلام.
if FileNo<>CurrentFileNo then
Begin
ListBox1.Items.BeginUpdate;
LoadFileToListBox(FileNo);
ListBox1.Items.EndUpdate;
End;
ListBox1.ItemIndex:=LineNo;
سورس کد:
procedure TStrings.EndUpdate;
begin
Dec(FUpdateCount);
if FUpdateCount = 0 then SetUpdateState(False);
end;
همون طور که می بینی این کار ساید افکت هایی داره چون متغیر داخلی رو داره کم می کنه که BeginUpdate زیادش کرده بوده، و در این دو رویداد خودش رو نشون می ده:
procedure TStringList.Changed;
begin
if (FUpdateCount = 0) and Assigned(FOnChange) then
FOnChange(Self);
end;
procedure TStringList.Changing;
begin
if (FUpdateCount = 0) and Assigned(FOnChanging) then
FOnChanging(Self);
end;
دست زدن به این کار یعنی از دست دادن این دو متد!