[TIdEncoderMIME] Erreur : "uneven size in encode"
Bonjour,
Mon précédent travail a été de convertir des objets TBitmap en String pour les stocker dans des fichiers XML, puis de les recharger. Voir ce sujet : http://www.developpez.net/forums/sho...d.php?t=147078
En voulant faire la même chose avec un TGraphic (pour utiliser des fichiers JPG, GIF, etc.), j'obtiens l'erreur suivante :
Code:
Uneven size in Encode
qui se produit à la ligne suivante :
Code:
monString := Encode(stream, stream.size) ;
Après quelques recherches sur le net, j'ai cru comprendre que ceci était plutôt un bug du composant TIdEncoderMIME mais qu'il devait être possible de le contourner en modifiant à la main la taille à encoder. Malheureusement j'ai été incapable de trouver un exemple de code pour le faire. Qqn peut-il m'aider ?
Voici le code actuel :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
stream : TStringStream ;
Result : String ;
...
uneImage.Graphic.SaveToStream(stream) ;
try
stream.Seek(0, soFromBeginning) ;
With TIdEncoderMIME.Create(nil) do
try
Result := Encode(stream, stream.size); //<-- erreur là
finally
stream.Free;
end ;
(...)
end ; |