Mysql-Blob Text Feld Tmemo.Lines.LoadFromStream, richtige Vorgehensweise?

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
atroesch
Beiträge: 6
Registriert: Mo 7. Jul 2025, 10:05

Mysql-Blob Text Feld Tmemo.Lines.LoadFromStream, richtige Vorgehensweise?

Beitrag von atroesch »

Hallo,
ich lade ein Mysql Text-Blob Feld per

Code: Alles auswählen

memo1.lines.LoadFromStream(sqlquery1.CreateBlobStream(SQLQuery1.Fields[3],bmread));   
ins TMemo
1. ist die Vorgehensweise so richtig?
wird korrekt angezeigt im Memo, will nur wissen ob das so richtig ist...?

2. Das Feld wird ja über Fields[NUMBER] angesprochen, gibt es da eine Möglichkeit per Result-Namen zuzugreifen?
also so wie bei FieldByName('NAME').AsString....

3. Da es ja so aussieht als würden da 2 Strems erzeugt, muss ich da etwas extra mit Free machen?

wp_xyz
Beiträge: 5210
Registriert: Fr 8. Apr 2011, 09:01

Re: Mysql-Blob Text Feld Tmemo.Lines.LoadFromStream, richtige Vorgehensweise?

Beitrag von wp_xyz »

Warum nimmst du kein TDBMemo? Da bekommst du das alles "geschenkt".

atroesch
Beiträge: 6
Registriert: Mo 7. Jul 2025, 10:05

Re: Mysql-Blob Text Feld Tmemo.Lines.LoadFromStream, richtige Vorgehensweise?

Beitrag von atroesch »

bitte nochmal zu der Frage von Free für den Stream.
wird der freigegeben wenn das Memo feld freigegeben wird oder muss ich den extra freigeben?

Benutzeravatar
theo
Beiträge: 10949
Registriert: Mo 11. Sep 2006, 19:01

Re: Mysql-Blob Text Feld Tmemo.Lines.LoadFromStream, richtige Vorgehensweise?

Beitrag von theo »

atroesch hat geschrieben: Do 17. Jul 2025, 14:10 bitte nochmal zu der Frage von Free für den Stream.
wird der freigegeben wenn das Memo feld freigegeben wird oder muss ich den extra freigeben?
Ich würde sagen extra freigeben.
Wieso sollte das Memo das freigeben?
Das wäre übergriffig. Dem würde ich was husten! :wink:

Benutzeravatar
Zvoni
Beiträge: 422
Registriert: Fr 5. Jul 2024, 08:26
OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
CPU-Target: 32Bit
Wohnort: BW

Re: Mysql-Blob Text Feld Tmemo.Lines.LoadFromStream, richtige Vorgehensweise?

Beitrag von Zvoni »

atroesch hat geschrieben: Do 17. Jul 2025, 14:10 bitte nochmal zu der Frage von Free für den Stream.
wird der freigegeben wenn das Memo feld freigegeben wird oder muss ich den extra freigeben?
Du hast das Problem, dass du CreateBlobStream innerhalb der LoadFromStream-Funktion aufrufst.

Heisst: Sobald die LoadFromStream-Zeile abgearbeitet ist, hast du keine Referenz mehr auf den BlobStream, den du "Free"-en kannst.
Separate Stream-Variable vorher benutzen
Aircode

Code: Alles auswählen

MyBlobStream:=sqlquery1.CreateBlobStream(SQLQuery1.FieldByName('NAME'),bmread);
memo1.lines.LoadFromStream(MyBlobStream);
MyBlobStream.Free;
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.

atroesch
Beiträge: 6
Registriert: Mo 7. Jul 2025, 10:05

Re: Mysql-Blob Text Feld Tmemo.Lines.LoadFromStream, richtige Vorgehensweise?

Beitrag von atroesch »

Danke.
Ja ändere ich...

Antworten