Bonjour,
j'ai voulu ré-utiliser un ancien code XE5 avec XE7 : incompatible. A l'époque il était développé avec FireDac que j'ai voulu conserver. En me promenant sur le web, j'ai adapté le code. Il s'agit d'enregistrer et d'afficher un Texte enrichi dans une TMSFMXRichEditor de TMS.
Pour insérer, updater :
Pour lire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 var MemStream : TMemoryStream; begin [...] MemStream := TMemoryStream.Create; with Params do begin TMSFMXRichEditor1.SaveToStream(MemStream); // MemStream.Seek(0,0); Inutile semble-t-il ? ParamByName('pacrBLOB').SetStream(MemStream, ftBlob, False); end; ExecSQL; [...] MemStream.Free; [...] end;Le problème est pour l'écriture.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 var BlobStream : TStream; begin [...] BlobStream := TStream.Create; [...] BlobStream := CreateBlobStream(FieldByName('crBLOB'), TBlobStreamMode.bmRead); TMSFMXRichEditor1.LoadFromStream(BlobStream); BlobStream.Free; [...] end;
Je me demandais s'il n'y avait pas d'affection plus directe... et si la méthode était valable. J'ai pris la première qui fonctionne... déjà satisfait d'en trouver une parmi toutes celles testées. Ensuite, les streams sont très "susceptibles". Dans le premier code, pour l'instant, seul le TMemoryStream semble fonctionner. Un simple TStream coince. (Erreur d'écriture dans le flux)
D'où vient le problème ?
La base est une MariaDB 5.5. La bibliothèque cliente est une MariaDB, mais je rencontre le même problème avec une librairie MySQL. FMX Win 32
Merci d'avance.
Partager