Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.617 Beiträge
Delphi 12 Athens
|
AW: Warum ist das Löschen einer Zeile aus einer Memo so langsam?
26. Mär 2013, 13:36
Ein Blick in die StdCtrls.pas wirkt manchmal Wunder (TCustomMemo.Lines ist vom Typ TMemoStrings, Zitat vorsichtshalber gekürzt):
Zitat:
Delphi-Quellcode:
procedure TMemoStrings.Delete(Index: Integer);
begin
... SendMessage(Memo.Handle, EM_LINEINDEX, Index, 0);
...
... SendMessage(Memo.Handle, EM_LINEINDEX, Index + 1, 0);
if ... then
SendMessage(Memo.Handle, EM_LINELENGTH, SelStart, 0);
SendMessage(Memo.Handle, EM_SETSEL, SelStart, SelEnd);
SendTextMessage(Memo.Handle, EM_REPLACESEL, 0, '');
end;
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|
|
Zitat
|