Pourquoi richEdit.lines.loadfromstream ne marche pas alors que

cs_Gerard Messages postés 121 Date d'inscription jeudi 10 janvier 2002 Statut Membre Dernière intervention 7 août 2018 - 21 mai 2009 à 14:14
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 21 mai 2009 à 16:03
Pourquoi la séquence suivante ne charge pas le stream dans le RichEdit :
  with PriseClient.Connection.Socket do
  Fs := TMemoryStream.Create; //Créer le flux
  try
    try
      ReadStream(Fs,TailleFichier,False); //Lire le flux
      WriteLn('OK'); //Signaler succès
    except
      WriteLn('ERR'); //Signaler une erreur
    end;
  finally
    fComment.RichEdit2.Lines.LoadFromStream(Fs);
    FreeAndNil(Fs); //Libérer le flux dans tous les cas

alors que celle-ci fonctionne:
  with PriseClient.Connection.Socket do
  Fs := TMemoryStream.Create; //Créer le flux
  try
    try
      ReadStream(Fs,TailleFichier,False); //Lire le flux
      WriteLn('OK'); //Signaler succès
    except
      WriteLn('ERR'); //Signaler une erreur
    end;
  finally
    fs.SaveToFile('TestStream.rtf');
    fComment.RichEdit2.Lines.LoadFromfile('TestStream.rtf');
    FreeAndNil(Fs); //Libérer le flux dans tous les cas

Or créer un fichier dans le cadre d'une application multithread n'est pas une très bonne solution, car plusieurs threads peuvent vouloir accéder au même fichier en même temps...

2 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
21 mai 2009 à 14:36
  with PriseClient.Connection.Socket do
  Fs := TMemoryStream.Create; //Créer le flux
  try
    try
      ReadStream(Fs,TailleFichier,False); //Lire le flux
      WriteLn('OK'); //Signaler succès
    except
      WriteLn('ERR'); //Signaler une erreur
    end;
    Fs.position := 0;
    fComment.RichEdit2.Lines.LoadFromStream(Fs);
  finally
    Fs.Free; //Libérer le flux dans tous les cas
  end;

<hr size="2" width="100%" />
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
21 mai 2009 à 16:03
Comme a dit Caribensila sur ton précédent post :
"
J'oubliais...

@ Géraaaaarrrrrrd !
   

Le règlement est valable pour tous :
- que ton age affiché ne te dispense pas des traditionnels "bonjour" et "merci", STP.

Merci
"
0
Rejoignez-nous