Hallo Zusammen,
Ich speichere mit Formatierungen versehenene Texte eines RichEdit in einem Blob-Feld (Subtype:Text) über eine IBQuery in einer Firebird-
DB ab. Leider gelingt mir das Einlesen nicht.
Folgendermaßen speichere ich ab (funktioniert):
Delphi-Quellcode:
...
var RichEditStream : TStringStream;
...
if frmMain.AdvRichEditorBeschreibungNeu.Text.IsEmpty = False
then
begin
RichEditStream := TStringStream.Create;
RichEditStream.WriteString(frmMain.AdvRichEditorBeschreibungNeu.ContentAsRTF);
//Dadurch bleibt der formatierte Text erhalten
RichEditStream.Position := 0;
Query.ParamByName('
beschreibung').LoadFromStream(RichEditStream, ftBlob);
RichEditStream.Free;
end
...
Mein Versuch des Einlesens sieht folgendermaßen aus:
Delphi-Quellcode:
...
var RichEditStream : TStringStream;
RichEditStream :=
Query.CreateBlobStream(
Query.Fields[4],bmRead);
RichEditStream.Position := 0;
frmMain.AdvRichEditorRTFIO.RichEditor.LoadFromStream(RichEditStream);
RichEditStream.Free;
...
1. Beim Compilieren bekomme ich die Fehlermeldung:
"E2010 Inkompatible Typen: 'TStringStream' und 'TStream'"
2. Also ändere ich testweise folgendermaßen ab:
var RichEditStream : TStream;
Compilieren gelingt, aber ich bekomme beim Einleseversuch die
Exception:
"EReadError: Ungültiges Stream-Format"
Ich komme momentan einfach nicht weiter. Kann mir hier jemand helfen?
Viele Grüße und Danke!
Echtet