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

Multithreading Discussion :

Interaction entre Qt et Visual C++


Sujet :

Multithreading

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Interaction entre Qt et Visual C++
    Salut la communaute,

    j'ai un probleme avec Qprocess il est le suivant :

    j'ai une application server que j'ai developpe avec visual c++
    et une autre client avec qt. Maintenant ce que je voudrais de l'application client c'est :

    --> pouvoir demarrer l'application server

    --> se connecter au server

    --> pouvoir afficher tous les messages qui normalement s'affiche sur la console de visual c et aussi les echanges entre le server et client dans un textEdit de l'application client.

    Toute aide et suggestion sera la bienvenue

    merci

    Ryoban

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Je ne vois pas de difficulté, il suffit de lire la documentation de QProcess.
    Sachant que QProcess hérite de QIODevice, il est possible de lire les sorties du processus, comme si c'était un fichier.

    Donc, si vous avez un problème précis, veuillez le décrire
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Bonjour,

    Je ne vois pas de difficulté, il suffit de lire la documentation de QProcess.
    Sachant que QProcess hérite de QIODevice, il est possible de lire les sorties du processus, comme si c'était un fichier.

    Donc, si vous avez un problème précis, veuillez le décrire
    Bonsoir

    Merci pour les liens, tres interessant.

    j'ai pu evoluer un peu, mais maintenant je ne comprend pas pourquoi je ne recois les messages que lorsque le process est terminer et non en temps reel. donc du coup je sais pas vraiment a quel niveau du programme je me trouve et comment je pourrais reagir consequement.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Utilisez vous un thread, ou un système de signal / slot ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Utilisez vous un thread, ou un système de signal / slot ?

    j'utilise un systeme de signal et de slot

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Vous êtes sur que le processus n'écrit pas qu'une fois qu'il a fini ?
    Vos signaux / slots sont bien connectés ? Je parle du signal envoyé du QProcess qui indique qu'il y a quelque chose à lire.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Vous êtes sur que le processus n'écrit pas qu'une fois qu'il a fini ?
    Vos signaux / slots sont bien connectés ? Je parle du signal envoyé du QProcess qui indique qu'il y a quelque chose à lire.
    Bonjour LittleWhite,

    oui vous avez raison je crois que le process n'ecrit que lorsqu'il a fini, parce que j'ai essayer d'utiliser un timer pour lire ce qu'il y'a de disponible toute les 10s, mais il y avait rien a lire.

    voici l'extrait de mon code ou je connecte et lit les donnees disponibles:
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     
     connect(socket,SIGNAL(readyRead()),this,SLOT(DataReceived()));
        connect(socket,SIGNAL(connected()),this,SLOT(MConnected()));
        connect(socket,SIGNAL(disconnected()),this,SLOT(MDisconnected()));
        connect(socket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(SocketErreur(QAbstractSocket::SocketError)));
     
     
        Myproc.setProcessChannelMode(QProcess::MergedChannels);
     
        connect(&Myproc, SIGNAL(readyRead()),this,SLOT(on_Myproc_data_available()));
     
     
        MsgLength =0;
    }
     
     
    void MainWindow::on_Myproc_data_available()// lecture des donnees Process
    {
        ui->Text_Ouput->append("Trying to read Process data");
        if(Myproc.bytesAvailable()){
        To_textEd += Myproc.readAll() + "\n";
        ui->Text_Ouput->append(To_textEd);
        }
    }
     
    void MainWindow::DataReceived() //lecture des donnees socket/reseau
    {
        ui->Text_Ouput->append("Trying to read some data");
        QDataStream Incomg(socket);
        if(MsgLength==0){
            if(socket->bytesAvailable() < (int)sizeof(quint16))
            return;
            Incomg >> MsgLength;
        }
        if(socket->bytesAvailable() < MsgLength)
           return;
        QString MsgReceived;
        Incomg >> MsgReceived;
        ui->Text_Ouput->append(MsgReceived);
        MsgLength =0;
    }
    et le truc c'est que avant la fin je ne recois ni les donnees du process et ceux du socket non plus.

    Merci d'avance

Discussions similaires

  1. Interaction entre deux forms Visual Studio
    Par pagugu dans le forum C++
    Réponses: 9
    Dernier message: 24/02/2011, 10h43
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  3. [VB .Net][Forms] Interaction entre deux forms
    Par plasticgoat dans le forum Windows Forms
    Réponses: 7
    Dernier message: 24/08/2005, 13h14
  4. [Collaboration/Interaction] Peut-on schématiser une interaction entre un bouton de commande et un autre objet ?
    Par manel007 dans le forum Autres Diagrammes
    Réponses: 5
    Dernier message: 21/09/2004, 01h01

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