AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Überlauf TMemo

Ein Thema von Jens Hartmann · begonnen am 12. Feb 2014 · letzter Beitrag vom 13. Feb 2014
Antwort Antwort
Seite 2 von 2     12   
hathor
(Gast)

n/a Beiträge
 
#11

AW: Überlauf TMemo

  Alt 13. Feb 2014, 09:29
Zitat von P80286:
Zum einen ist ein TMemo eigentlich nur für die Anzeige gedacht.
Ich nutze das ganze ja auch nur als Anzeige. Daher, sind die Daten nur von geringer Wichtigkeit. Ich möchte lediglich einen gewissen Zeitraum der vergangenen Daten sichtbar erhalten.

Die Lösung von:

Zitat von hathor:
...
nutze ich ja bereits. Allerdings, wird das OnChange ja bei jeder Änderung des Inhaltes ausgelöst. Soll heißen, eine Zeile hat bei mir etwa 80 Zeichen. Davon möchte ich z.B. die letzten 2000 sichtbar erhalten. Daraus folgt...

if TMemo.Lines.Count >= 2000 then TMemo.Lines.Delete[0] und das ins OnChange.

Nachteil: 80 Zeichen/Zeile -> 80 x OnChange ohne Sinn, Weiter gedacht: 80 Zeichen x 2000 Zeilen = 80.000 Zeichen -> 80.000 x OnChange, bis das erste mal die Funktion

TMemo.Lines.Delete[0] ausgeführt wird. Nicht zu vergessen, die fehlenden Sonderzeichen wie Zeilenvorschub, Leerzeichen etc..
Du interpretierst da etwas hinein, was ich NICHT geschrieben habe!
Es zeigt nur die letzten 10 Datenzeilen an - mehr nicht.
Wozu willst Du 2000 Zeilen in der Anzeige haben von "geringer Wichtigkeit"?
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#12

AW: Überlauf TMemo

  Alt 13. Feb 2014, 09:40
Größe des TMemo kommt auf die Windows und die Delphi Version an, bei D5 sind es 32 KB oder 64KB.

Wenn man mal schnell eine Anzeige braucht und hier den Bug umgehen will, so nehme einfach ein TRICHEDIT stelle es auf PLAINText, dann sind es sicher 2 GB
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#13

AW: Überlauf TMemo

  Alt 13. Feb 2014, 11:55
Du interpretierst da etwas hinein, was ich NICHT geschrieben habe!
Es zeigt nur die letzten 10 Datenzeilen an - mehr nicht.
Wozu willst Du 2000 Zeilen in der Anzeige haben von "geringer Wichtigkeit"?
Ungeschickt ausgedrückt?
Ich kenne durchaus Situationen, wo man wochenlang nur die letzten 2..5 Ausgabezeilen eines Programmes braucht, und dann hat's geknirscht und man muß die letzten 1..1000 Zeilen nach der relevanten Meldung durchsuchen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz