ich möchte eine RTF Datei ohne Benutzereingabe auf Festplatte schreiben. Dazu habe ich RichMemo mit „svn co https://lazarus-ccr.svn.sourceforge.net ... /richmemo/" onclick="window.open(this.href);return false;“ installiert. Auf Linux musste ich http://bugs.freepascal.org/view.php?id=17319 anwenden, um es installieren zu können. Ich hänge nach und nach formatierte Textfragmente an ein verborgenes RichMemo an und schreibe dann dessen Inhalt in einen FileStream. Auf Windows funktioniert es, aber auf Linux erhalte ich immer eine leere Datei, obwohl ich den korrekten Inhalt im RichMemo sehe.
1. Problem (gelöst):
Wenn ich
Code: Alles auswählen
visible := false;
Code: Alles auswählen
visible := True;
2. Problem (nur auf Linux, gelöst):
Code: Alles auswählen
RichMemo.SelStart := RichMemo.GetTextLen;
RichMemo.SelText := s;
Code: Alles auswählen
RichMemo.Text := RichMemo.Text + s;
3. Problem (gelöst):
Ich übergebe UTF8 codierte Textfragmente.
Code: Alles auswählen
RichMemo.GetTextLen
Code: Alles auswählen
Inc(RichLen, UTF8Length(s));
In http://bugs.freepascal.org/view.php?id=19579 wurde ich abgewiesen.
Folgender Code, um den Text in eine Datei zu speichern, funktioniert auf Windows. In Linux erhalte ich immer eine leere Datei.
Code: Alles auswählen
Stream := TFileStream.Create(SaveDialog.FileName, fmCreate);
RichMemo.SaveRichText(Stream);
Stream.Free;
Heiner