Salut,
Si j'ai bien compris :
function CompoVersChaine(Compo : TComponent):string;
{On utilise la gestion de flux de composant intégré pour convertir un composant en une chaîne.}
var
MemStrm : TMemoryStream;
StrStrm : TStringStream;
S : String;
begin
MemStrm := TMemoryStream.Create;
try
StrStrm := TStringStream.Create(S);
try
MemStrm.WriteComponent(Compo);//Ecrit le Compo dans le flux TMemoryStream.
MemStrm.Seek(0,soFromBeginning);//Se place au début du flux MemStrm.
ObjectBinaryToText(MemStrm,StrStrm);//Convertit l'objet contenu ds MemStream en une version littérale simple et le place ds StrStrm.
StrStrm.Seek(0,soFromBeginning);//Se place au début du flux StrStrm.
Result := StrStrm.DataString;//On accéde au texte du flux.
finally StrStrm.Free; end;
finally MemStrm.Free; end;
end;
Et l'inverse:
procedure ChaineVersCompo(Chaine : string; Compo : TComponent);
var
MemStrm : TMemoryStream;
StrStrm : TStringStream;
begin
StrStrm := TStringStream.Create(Chaine);
try
MemStrm := TMemoryStream.Create;
try
ObjectTextToBinary(StrStrm,MemStrm);
MemStrm.Seek(0,soFromBeginning);
finally MemStrm.Free; end;
finally StrStrm.Free; end;
end;