Bonjour,

j'ai établi selon la langue un certain nombre de courriers types
Mon problème c'est comment charger ce courrier !

Question principale

Mon dernier code hier soir
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
17
18
19
20
21
22
23
 
var BodyStream : TStream;
...
            with Datas.CourrierType do
             begin
               Active := False;
               MailBody.Clear;
               ParamByName('ID').AsInteger := Datas.QFactures.FieldByName('LANGUE').AsInteger;
               Active := True;
               IdMsg.Subject := FieldByName('SUJET').AsString;
               IdMsg.Subject := StringReplace(IdMsg.Subject, '<piece>', NomFichier,
                                [rfReplaceAll, rfIgnoreCase]);
               BodyStream:=TStream.Create;
               try
                 BodyStream := CreateBlobStream(FieldByName('Contenu'), bmRead);
                 BodyStream.Position:=0;
                 ContenuMsg.PlainText.LoadFromStream(BodyStream);
               finally
                 BodyStream.Free;
               end;
               Active := False;
             end;
..
Ce code ne fonctionne pas j'obtiens un "TPF0TStateSaver" alors que je devrais avoir
Hello World
Bonjour le monde
Je continue mes investigations mais si quelqu'un entre temps à une idée, je prends

En question subsidiaire
Pour envoyer un fichier contenu dans un blob ceci fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
  with ContenuMsg.Attachments.Add(AStream, 'application/pdf', '1') do
               FileName:=NomFichier;
même si je ne comprends pas trop le dernier paramètre, j'ai mis '1' dans la chaine mais NULL aurait peut-être été tout pareil, à quoi peut bien correspondre AContentID et si j'ajoutais une autre pièce que se passerait-il si la valeur était identique ?