Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#14

AW: Funktion / Stream in Richmemo laden ( Lazarus )

  Alt 16. Sep 2015, 14:20
Manfred, wieso probierst du nicht einfach die Universal-Lösung, die ich oben bereits gepostet hatte, einmal aus? Diese beiden Methoden kannst du für alle Blob-To-Stream- und Stream-To-Blob-Aufgaben einsetzen. Du mußt lediglich den Stream und das Feld übergeben. Das Feld legst du in der aufrufenden Methode fest:
Delphi-Quellcode:
Procedure TForm1.AufrufendeMethode(Sender : TObject);
Var
  Feld : TField;
  S : TMemoryStream;
begin
  S := TMemoryStream.Create;
  Try
    Feld := DatenModul.MyQuery.FieldByName('MeinBlobFeld'); // oder wie auch immer deine Tabellenkomponente und dein Blobfeld benannt sind
    Memo.Lines.SaveToStream(S);
    If Not DatenModul.StreamToBlob(S,Feld) Then
       ShowMessage('Fehler'); // oder eben ein globaler Fehlerstring, wie ich ihn verwende
  Finally
    S.Free;
  End;
end;
Wenn du das Feld angibst, mußt du weder Tabellenname noch sonstwas übergeben, denn das Feld führt ja ein Property mit, welches das Dataset beinhaltet: Feld.Dataset. Du mußt also nicht mit der Kirche ums ganze Dorf fahren

Ungetestet, da nur schnell als Beispiel reingetippt ...
  Mit Zitat antworten Zitat