Hallo,
ich greife das Thema/die Frage mal wieder auf:
Ich benutze in einer Chat-Anwendung ein TRichEdit als Protokoll bzw. Verlauf. Beim Start des Programms lade ich den Text mit
LoadFromFile(); - beim Beenden speichere ich ihn mit
SaveToFile();. Das funktioniert ganz gut.
In
extrem unregelmäßigen Abständen macht das aber Probleme, ohne dass ich den Hintergrund herausfinden kann. Diese äußern sich so, dass im TRichEdit nach dem Laden die Formatierungen als Klartext mit angezeigt werden. Außerdem entarten teilweise die Dateien. Der Rekord einer rtf-Datei lag mal bei 185 MB. Das Programm ließ sich nicht mehr starten und brauchte nach Ewigkeiten 200 MB
RAM. Ich brauchte dann ewig, um hinter die Riesendatei als Problemverursacher zu kommen. Wie sie aber zustande kommt, kann ich nicht rekapitulieren.
Meine Vermutung ist nun nach längeren Recherchen, dass es an der 64KB-Grenze liegen könnte und ich habe meinen Code bereits entsprechend der Hinweise hier angepasst.
Meine Frage ist da aber noch, wie kann ich ermitteln, ob ich mich der 64KB-Grenze nähere?
Ich möchte das wissen, damit ich dann drangehen und mir diese Dateien und die künftigen Starts ansehen zu kann. Irgendwann möchte ich den Fehler bzw. dessen Ursache mal finden und ich kann nicht auf allen Rechnern Delphi zum Debuggen in der
IDE installieren.
Gruß, Alex