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 :
qui se produit à la ligne suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ;