Einzelnen Beitrag anzeigen

Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#11

Re: EOutOfResources: 'Fehler bei Einfügen von RichEdit -Zei

  Alt 1. Nov 2005, 00:18
Hallo,

Zitat von TStringlist:
Zitat von Lannes:
Der Fehler wird ursächlich ausgelöst durch Insert an Zeile 0.
Stimmt leider nicht. Wenn ich die ganzen Lines.Insert-Zeilen alle gleichmäßig eins nach oben zielen lasse und mit SelText dann auch entsprechend Zeile 4 ändere, dann haben wir wieder das fast gleiche Fehlerbild wie vorher.
ja, da muss ich Dir zustimmen
aber das muss doch von irgendwelchen Bedingungen abhängen, Zeilenanzahl, Zeichenanzahl ...

Zitat von teebee:
Merkwürdigerweise funktioniert alles prima, wenn Du nur bis 2134 gehst...
Das ist auch nicht ganz richtig

Wenn ich den Code wie folgt abändere, dann gibt es keinen Fehler:
Delphi-Quellcode:
AStr := '---------------------';
RichEdit1.Lines.Add(AStr + '--------------'+'--------------');//<--------- um 14 Zeichen erweitert
for I := 1 to 2440 do RichEdit1.Lines.Add(AStr);
  Lines.Insert(0,'on: ' + '00:00:00 ');
  Lines.Insert(2,'on: ' + DateToStr(Now) + ' 00:00');
  Lines.Insert(3,'on: ' + DateToStr(Now) + ' 24:00 00:00:00');
Diese 14 Zeichen ist genau die Länge hinter der '24' die bei einem Fehler verleiben
  • on: 00:00:00
    -----------------------------------
    on: 31.10.2005 00:00
    on: 31.10.2005 24:00 :00:00
    ---------------------
    ---------------------
    ---------------------
    ---------------------
    -------24--------------
    ---------------------

Ändere ich nun wiederum die Insert-Index auf :
Delphi-Quellcode:
Lines.Insert(1,'on: ' + '00:00:00 ');
Lines.Insert(3,'on: ' + DateToStr(Now) + ' 00:00');
Lines.Insert(4,'on: ' + DateToStr(Now) + ' 24:00 00:00:00');
und füge die '24' entsprechend in Zeile 4 ein, verschiebt sich die 24 an eine andere Stelle.
Nehme ich nun die Anzahl der Zeichen hinter der '24' und baue sie entsprechend in den Code ein,
ist der Fehler wieder beseitigt.

Wer Lust hat kann gerne versuchen die Zusammenhänge/Ursache zu finden, ich gebs auf.
Ob es nun an der Dll direkt oder an der Kapselung des RichEdit durch Delphi liegt? kA.

Ich werd doch wohl weiterhin die Daten wie gewohnt über einen Stream ins RichEdit schreiben,
damit hab ich diese Probleme bisher noch nicht gehabt.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat