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

WebDev Discussion :

Bug pour afficher un message d'une socket


Sujet :

WebDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2010
    Messages
    471
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 471
    Par défaut Bug pour afficher un message d'une socket
    Bonjour à tous !

    Je bloque sur un nouveau problème :

    Sur une application WebDev, je réceptionne des info sur une socket UDP dont voici le code tout simple d'écoute :
    C'est une procédure appelée en Thread.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    PROCÉDURE Socket_Reception()
     
    BOUCLE
     
    	sMonMessage est une chaîne = SocketLit("Client",Faux,200)
     
    	SI sMonMessage <> "" ALORS
    	    Trace(sMonMessage)
    	    ExécuteThreadPrincipal(Affiche,sMonMessage)		
    	FIN
     
    FIN
    Le code fonctionne très bien, sauf qu'il m'est impossible d'afficher le message reçu ?? !!
    Mais la trace fonctionne, je vois le message !!

    C'est plutôt la fonction Affiche qui me pose problème : (j'utilise cette fonction car justement je dois accéder à un champs... et on peut pas depuis un Thread...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PROCÉDURE Affiche(sMonMessage est une chaîne)
     
    ListeAjoute(LISTE_Rx,sMonMessage)
    On peut difficilement faire plus simple ??!!!

    Mais rien ne se passe, aucun message n'est ajouté dans la liste ??

    Quelqu'un aurait une idée ???

    Merci d'avance !!

  2. #2
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 579
    Par défaut
    As-tu essayé de mettre ton trace() à la place de ton ListeAjoute() ?

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2010
    Messages
    471
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 471
    Par défaut
    oui oui mais il n’exécute même pas la fonction «*affiche*» !

    je sais pas ce qu’il se passe, ce doit être le ExecuteThreadPrincipal qui bloque ? !

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2010
    Messages
    471
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 471
    Par défaut
    Bon il est clair que c’est le ThreadExecutePrincipale qui me bloque carrément le Thread en cours...

    j’ai essayé de m’en passer en modifiant directement l’IHM mais marche pas, j’ai une alerte.

    J’ai essayé de prendre un autre type de champs, idem...

    J’ai essayé de passer par une Variable globale, mais change rien, si je peux afficher la trame reçue sur la socket dans l’IHM, suis obligé de passer par cette fonction...

    c’est très bloquant pour la suite du projet ça !

    n’y a t il pas moyen de faire autrement ?

    merci à vous !

  5. #5
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 579
    Par défaut
    Il y a une solution à laquelle je pense, mais ça ne me plait pas : Une procédure qui lance une boucle genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    BOUCLE
      si 1=0 alors sortir // histoire de ne pas avoir de warning
      si MaVarGlobale <> "" alors 
         trace(MaVarGlobale)
         MaVarGlobale = ""
         Multitâche(-1)
         temporisation(100)
      fin
    FIN
    C'est pourri, je trouve...

    Essaye de contacter le ST pour qu'ils te donnent des pistes.

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2010
    Messages
    471
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 471
    Par défaut
    salut,

    mouai en effet ça pourrait être une piste, je passerai pas par un thread...

    après si ça marche... pourquoi pas...

    A tester, je te dirais !

    J’ai posté également sur le forum PC-SOFT, on verra...

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/03/2019, 08h44
  2. Affiche d'un message pour afficher le résultat d'une commande
    Par celcy dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 26/01/2007, 19h59
  3. Réponses: 18
    Dernier message: 12/06/2006, 09h39
  4. Réponses: 5
    Dernier message: 07/06/2006, 12h11
  5. [C#] Fenêtre pour afficher un message d'erreur
    Par radicalrider dans le forum ASP.NET
    Réponses: 18
    Dernier message: 17/08/2005, 11h01

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