begin process at 2012 05 30 10:25:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Utilisation de: Application->ProcessMessages(); car Erreur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Utilisation de: Application->ProcessMessages(); car Erreur

vendredi 13 novembre 2009 à 22:48:41 | Utilisation de: Application->ProcessMessages(); car Erreur

megamario

Bonsoir,

J'ai un petit souci, on viens de finir un client pour faire un MiniChat au lycée.
Les prof nous avais proposer de faire:
->Un bouton pour se connecter
->Un bouton pour demander si le login est dispo
->Un bouton pour rafraichir les personne logger sur le serveur
J'y suis arrivé cela marche nickel.

Mais en tant que vieux parmi les élèves de 20 ans qui n'ose pas demander des conseils.
j'ai donc demandé comment faire pour que lorsque l'on appuis sur Connecter cela enchaine les 3 fonctions de base Connecter->login->logger.
sachant que l'évènement du socket Read ne se déclenche qu'en sortant de la méthode BoutonConnexionClick.

Le prof m'a proposer d'utilisé
Application->ProcessMessages();

Mais j'ai un gros plantage avec un message d'erreur a la lecture de ce ProcessMessages()

Project LeClient.exe raised exception class EAccessViolation with message 'Access violation at address 40009720 in module 'rtl60.bpl'.Read of address 97D82603'.Process stopped. Use Step or Run to continue;

Avec une case a cocher: View CPU Windows
et avec 2 bouton OK et HELP

Voici un bout de mon code:
Code C/C++ :
ClientSocket1->Port = EditPort->Text.ToInt() ;
ClientSocket1->Address = EditIP ->Text;
// Ouverture du Client IP
ClientSocket1->Active = true;

Sleep(100);

        while(!Drapeau)  //Drapeau étant un bool pour gérer la réception de la ligne.
        {
                Application->ProcessMessages();
                Sleep(100);
        }
        Sleep(100);
        if (!Erreur)     //Erreur étant un bool pour sortir en cas d'une mauvaise ligne recu
        {
                DemanderLogin();
                while(!Drapeau)
                {
                        Application->ProcessMessages();
                        Sleep(100);
                }
                Sleep(100);
                if (!Erreur)
                {
                        DemanderLogger();
                        while(!Drapeau)
                        {
                                Application ->ProcessMessages();
                                Sleep(100);
                        }
                        if (Erreur)
                               ShowMessage("Erreur de récupération des logger");     
                }
                else
                       ShowMessage("Erreur de login");
        }
        else
               ShowMessage("Erreur de connexion");


J'ai tenté de rajouter des Sleep mais sans effet car de tout maniere cela plante au 1er access de ProcessMessages();

Je précise que je suis sous Seven avec un Core2Duo.



Technicien en électricité Industriel (39 ans), en cours de reconversion BTS IRIS 2eme Année.
Au lycée pendant l'année scolaire, et en stage pendant les vacances scolaire.
vendredi 13 novembre 2009 à 22:59:10 | Re : Utilisation de: Application->ProcessMessages(); car Erreur

megamario

J'ai fait l'essaie sous XP Mode et même defaut


Technicien en électricité Industriel (39 ans), en cours de reconversion BTS IRIS 2eme Année.
Au lycée pendant l'année scolaire, et en stage pendant les vacances scolaire.
samedi 14 novembre 2009 à 14:27:39 | Re : Utilisation de: Application->ProcessMessages(); car Erreur

megamario

Personne pour me renseigner


Technicien en électricité Industriel (39 ans), en cours de reconversion BTS IRIS 2eme Année.
Au lycée pendant l'année scolaire, et en stage pendant les vacances scolaire.
lundi 16 novembre 2009 à 09:13:31 | Re : Utilisation de: Application->ProcessMessages(); car Erreur

louis14

Bonjour,
Que contient cette fonction "ProcessMessage"?

Avez-vous essayé de déclencher une thread qui contient votre procedure (dans la procedure du premier click). Comme cela la boucle des messages continue sans être perturbée.

1. Lancer une thread dont le code contient un automate de ce type :

BOOL continuer = TRUE;
int step = 0;
while(continuer == TRUE)
{
switch(etape)
{
case attente_connexion://avec time_out
if(connecter)
step ++;//action suivante
else if time_out
step = erreur;
break;
case demander_login:
step++;
break;
case attente_reponse:// avec time_out
if(reponse)
step++;//action suivante
else if time_out
step = erreur;
break;
case demander_logger
step++;
break;
case attente_logger:
if(reponse)
step = fin;
else if time_out
step = erreur;
break;
case fin :
continuer = FALSE;
break;
case erreur :
continuer = FALSE;
message d'erreur;

}
Sleep(100);
}

Bon travail

louis14
lundi 16 novembre 2009 à 10:11:34 | Re : Utilisation de: Application->ProcessMessages(); car Erreur

megamario

Bonjour,

ProcessMessage n'est pas une méthode que j'ai crée. C'est une fonction disponible. Qui est sensée dire au logiciel de traiter les évènements qui sont arrivés, afin de ne pas bloquer le logiciel.
Application->ProcesseMessage();

Mais j'ai résolu mon problème car c'est bourland qui est trop susceptible.
Mon code proviens du lycée, et pourtant utilisant la même version il ne veut pas que j'utilise cette fonction dans l'état. j'ai donc recrée un projet en entier et la cela marche nickel.

Bonjour l'intégration de programme si l'on travaille à plusieurs!!


Technicien en électricité Industriel (39 ans), en cours de reconversion BTS IRIS 2eme Année.
Au lycée pendant l'année scolaire, et en stage pendant les vacances scolaire.


Cette discussion est classée dans : bouton, application, erreur, sleep, processmessages


Répondre à ce message

Sujets en rapport avec ce message

Urgent : cherchez l erreur. [ par Goeland ] bonjour,me reste un peu moins de 36 heures pour finir un programme mais étant néophite je bloque sur un truc. J'utilise VC++6 et dans cette parti du p Ou est mon erreur.... [ par ordy ] Bonjour, est ce que quelqu'un peut dire ou se trouve mon erreur.car dans l'execution de mon application il n'execute cette tache, mais il ne demarre p fermeture appli MFC en cours [ par dambeaufort ] bonjour, j(ai actuellement developpe une application avec plusieurs fenetres qui s'ouvrent les unes apres les autres. En parallele, un thread de detec SAS window : winlogon.exe - Erreur d'application [ par hosh77 ] J'ai ce type d'erreur au démarrage du pc ?SAS window : winlogon.exe - Erreur d'application L'exception Pas à Pas Une éxecution en pas à pas ou une tra rien dans la barre des taches [ par glipper ] Bonjour,j'aimerais ne pas afficher le bouton de mon application qui est dans la barre des taches (le bouton qui sert à reduire, agrandir etc). L'appli comment faire disparaitre le bouton de l'application de la barre des taches? [ par badrbadr ] Bon, voila : chaque programme a un bouton dans la barre des taches lors de leur lancement.comment on peut faire disparaitre ce bouton de mon applicati Lecture d'un fichier .avi [ par seb2086 ] Bonjour,je voudrait savoir comment faire ,dans une application MFC,pour lancer la lecture d'une vidéo au format AVI lorsque je clique sur un bouton. ( Application Windows C [ par RM50Man ] Comment on fait pour savoir si on a appuier sur un bouton qui se situe ds la fenetre principale.Par exemple, si le bouton est ds une dialog on le recu Détecter une erreur dans un process ? [ par chuckboy ] Bonjour à tousJe cherche à détecter une erreur dans un process externe.J'explique , je lance un process "CreateProcess(NULL, (LPTSTR)sExecutable.c_str Erreur de lancement de l'application. [ par Sim 2005 ] Salut, j'ai fait un projet sous Visual Studio 2005, et j'ai voulu tester le prog sur un autre ordinateur. Il s'affiche un erreur "Cette application n'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales