Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#11

AW: TMemo-Ersatz mit mehr Kapazität?

  Alt 23. Jan 2014, 11:30
Zitat:
TStringlist.Text:=TMemo.Lines.Text;
Memo.Lines.Text (wobei Lines ein TMemoStrings ist) oder TStrings.Text / TStringList.Text .......

Bei einer TStringList sind alle Lines einzelne Strings.
TStringList.Text erstellt einen großen String, aus den vielen ein Einzelstrings und das wird erst zugewiesen.
Bei TStringList.Assign und TStringList.AddStrings werden die Strings aber einzeln übergeben, ohne wie erst zusammenzusetzen und dann wieder auseinanderzunehmen, weswegen TStringList.Text := TStringList.Text praktisch der absolute Overkill ist.

Es kommt aber immer darauf an, wie der Speicher hinter TStrings verwaltet wird und wie gut die Methoden des TStrings darauf abgestimmt sind.
So macht z.B. ein Memo.Lines.Text das Selbe wie Memo.Text und liest nicht erst "langsam" die einzelnen Lines aus, welche danach wieder zusammengesetzt werden müssten.



PS: Da du dich an den Grenzen des Speichermanagements bewegst ...
Es brauchten nur ein paar Bytes einen der großen den freien Speicherblöcke teilen, welche du grade noch so verwendet hast und schon war es das. *peng*
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat