IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

[Indy 10] Stream d'un Richedit


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Points : 12
    Points
    12
    Par défaut [Indy 10] Stream d'un Richedit
    Bonjour à tous,
    Je continue de poser quelques questions cette semaine sur un projet qui me tient à cœur, et que j’espère pouvoir finir.

    Je cherche a transférer le contenu d'un RichEdit via Indy (Tidtcpserver / Tidtcpclient).

    J'ai pu consulter la FAQ : https://delphi.developpez.com/faq/?p...s-avec-Indy-10

    Cependant, dois-je appliquer la même procédure ?
    - Récupérer la taille du flux original
    - Envoyer la taille
    - Envoyer le flux


    Les informations que j'ai pu trouver sur internet ne présentaient pas cela comme ça.
    J'étais parti avant lecture de l'article sur quelque chose comme ça pour l'envoi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TEditMessage.AjouterMessageClick(Sender: TObject);
    var SS : TStringStream;
    begin
        SS := TStringStream.Create('');
        TextDuMessage.Lines.SaveToStream(SS);
        Form1.IdTCPClient1.Socket.WriteLn('RXQuestionEditText@'+LabelEditQuestion.caption);
        Form1.IdTCPClient1.Socket.Write(SS,0,true);

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Points : 12
    Points
    12
    Par défaut
    Je suis de retour avec le fruit de mes recherches.
    Il semblerait qu'il ne soit plus d'actualité d’encapsuler le Flux dans un TIdStreamVCL ?
    Source: https://www.developpez.net/forums/d1...ndy-v10-1-5-a/

    La FAQ n'est pas a jour ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Points : 12
    Points
    12
    Par défaut
    Sinon, mes tests ne marche toujours pas...

    Coté client pour l'envoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          TextDuMessage.Lines.SaveToStream(SS);
          Form1.IdTCPClient1.Socket.WriteLn('RXQuestionEditText@'+LabelEditQuestion.caption);
          Form1.IdTCPClient1.Socket.Write(SS.Size);
          Form1.IdTCPClient1.Socket.Write(SS,0);
          form1.AddInfoDebugger('ENVOI','RXQuestionEditText@'+LabelEditQuestion.caption+'@'+ SS.DataString);

    Coté serveur qui récéptionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Var
        LStreamSize : int64;
        RXStreamRichedit: TStringStream;
    ...
    else if cmd='RXQuestionEditText' then
          begin
            //On extrait, et separe les infos
            FMsg:= Copy(str, Pos('@', str)+1, Length(str)-Pos ('@', str)); 
            form2.AddInfoDebugger('RECEPTION','Demande de Modif d''une question (Text) dans: '+FMsg2)
            LStreamSize := AContext.Connection.IOHandler.ReadInt64();
            acontext.Connection.IOHandler.ReadStream (RXStreamRichedit,LStreamSize);
            ...
    Je ne récupère rien côté serveur dans ma variable RXStreamRichedit.
    Cependant, je récupère bien le LStreamSize.

    Nom : Proj2.png
Affichages : 132
Taille : 15,2 Ko

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Points : 12
    Points
    12
    Par défaut
    J'ai trouvé après quelques heures de recherches ...
    L'ajout de RXStreamRichedit := TStringStream.Create(''); corrige le problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Var
        LStreamSize : int64;
        RXStreamRichedit: TStringStream;
    ...
    else if cmd='RXQuestionEditText' then
          begin
            //On extrait, et separe les infos
            FMsg:= Copy(str, Pos('@', str)+1, Length(str)-Pos ('@', str)); 
            form2.AddInfoDebugger('RECEPTION','Demande de Modif d''une question (Text) dans: '+FMsg2)
            RXStreamRichedit := TStringStream.Create('');
            LStreamSize := AContext.Connection.IOHandler.ReadInt64();
            acontext.Connection.IOHandler.ReadStream (RXStreamRichedit,LStreamSize);
            ...

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par benda95280 Voir le message
    La FAQ n'est pas a jour ?
    Rien ne vous empêche de proposer des corrections à cette FAQ puisqu'elle collaborative.
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Points : 12
    Points
    12
    Par défaut
    Avec plaisir.
    Cependant, je ne voit que la possibilité de rajouter une question sur la page de la FAQ.

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Il y a une FAQ sur comment participer à la FAQ

    Alcatîz ou gvasseur58 sont les deux responsables de rubriques les plus actifs pour Delphi
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. FMX Android problème de streaming MPEG en HTTP avec Indy
    Par rdr2510 dans le forum Web & réseau
    Réponses: 0
    Dernier message: 22/08/2015, 07h33
  2. Indy 10 TCPClient - read stream et ligne mélangée....
    Par cmarcx dans le forum Web & réseau
    Réponses: 17
    Dernier message: 20/03/2006, 09h36
  3. [Indy 9] Streams
    Par Harvester dans le forum Web & réseau
    Réponses: 4
    Dernier message: 22/08/2005, 17h12
  4. [Kylix] indy sur kylix? pb :-(
    Par NicoLinux dans le forum EDI
    Réponses: 7
    Dernier message: 15/05/2002, 23h32
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo