Дан вот такой простой код:
- Код: Выделить всё
var
i:integer;
begin
for i := 0 to 55555 do
begin
SynEdit.Lines.Add('// '+IntToStr(i));
end;
end;
заполняет очень-очень-очень долго.
Попробовал вот так:
- Код: Выделить всё
var
i:integer;
begin
SynEdit.Visible:=false;
SynEdit.Enabled:=false;
Application.ProcessMessages;
for i := 0 to 55555 do
begin
SynEdit.Lines.Add('// '+IntToStr(i));
end;
SynEdit.Visible:=true;
SynEdit.Enabled:=true;
end;
заполняет много быстрее, но всё равно долго.
Сделал вот так:
- Код: Выделить всё
var
i:integer;
s:string;
begin
SynEdit.Visible:=false;
SynEdit.Enabled:=false;
Application.ProcessMessages;
for i := 0 to 55555 do
begin
s:=s+'// '+IntToStr(i)+#13;
end;
SynEdit.text := s;
SynEdit.Visible:=true;
SynEdit.Enabled:=true;
end;


Вопрос: В чём секрет? Это баг или нужно чего-то отключить при SynEdit.add ?
.