begin process at 2012 05 29 15:22:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Pb avec fonctin readFile qd j'utilise des Threads


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

Pb avec fonctin readFile qd j'utilise des Threads

jeudi 26 juin 2003 à 09:22:57 | Pb avec fonctin readFile qd j'utilise des Threads

jujunio

Bonjour à tous !

J'tilise la fonction ReadFile pour lire sur le port COm du PC.
La lecture fonctionne correctement sans les Threads.
J'ai décidé de mettre en place les Threads et là ça ne veut plus marcher.
Pas d'erreur à la compil mais qd j'exécute, ça fonctionne jusqu'au ReadFile !!!!!

INT Blick::lireCOM(LPVOID ptr)
{
Blick* pFlag = (Blick*) ptr;
AfxMessageBox ( "Test pFlag....");
pFlag->lecture();
return 0;
}

void Blick::lecture()
{
while(1)
{
AfxMessageBox ( "Test attente trame....");
com1->lire(trame,total,&nbre); // dans un tableau
AfxMessageBox ( "OK une Trame recue...."); traiterTrame();
}
}

La fonction lire utilise ReadFile et c là que ça plante


////////////////////////////////////////////////////////////
void CLiaisonRS232::lire(unsigned char* donnees, int noctets, int* nb)
{
BOOL res;
ULONG nbOctets;

// Lecture reponse
res = ReadFile(
hCOM, // Handle du port
donnees, // Adresse buffer
noctets, // Nb octets à lire
&nbOctets, // Nb octets lus
NULL); // Lecture synchrone

*nb=(int)nbOctets;
}

Merci
jeudi 26 juin 2003 à 09:55:31 | Re : Pb avec fonctin readFile qd j'utilise des Threads

vidarusny

Quand tu utilise les threads sur une seule ressource tu dois synchroniser tes threads. Pour ca en MFC tu as les CSemaphore.Ce qui te permet d'attendre que t'as ressource soit libre, et qui peut eviter le plantagede ta fonction ReadFile.

Pour l'utiliser tu la déclare dans "Blick" (CSemaphore block) et tu l'utilise comme suit :
block.Lock();
com1->lire(trame,total,&nbre); // dans un tableau
block.Unlock();

jeudi 26 juin 2003 à 09:56:20 | Re : Pb avec fonctin readFile qd j'utilise des Threads

vidarusny

Quand tu utilise les threads sur une seule ressource tu dois synchroniser tes threads. Pour ca en MFC tu as les CSemaphore.Ce qui te permet d'attendre que t'as ressource soit libre, et qui peut eviter le plantagede ta fonction ReadFile.

Pour l'utiliser tu la déclare dans "Blick" (CSemaphore block) et tu l'utilise comme suit :
block.Lock();
com1->lire(trame,total,&nbre); // dans un tableau
block.Unlock();

jeudi 26 juin 2003 à 14:00:12 | Re : Pb avec fonctin readFile qd j'utilise des Threads

jujunio

Merci de ton aide VIDARUSNY mais qd je compile, connait pas CSemaphore, ni block, lock et unlock. Je crois qu'il manque une Classe...
peux-tu me détailler comment faire ???

MERCI


-------------------------------
Réponse au message :
-------------------------------

> Quand tu utilise les threads sur une seule ressource tu dois synchroniser tes threads. Pour ca en MFC tu as les CSemaphore.Ce qui te permet d'attendre que t'as ressource soit libre, et qui peut eviter le plantagede ta fonction ReadFile.
>
> Pour l'utiliser tu la déclare dans "Blick" (CSemaphore block) et tu l'utilise comme suit :
> block.Lock();
> com1->lire(trame,total,&nbre); // dans un tableau
> block.Unlock();
>
>


Cette discussion est classée dans : lecture, int, lire, readfile, threads


Répondre à ce message

Sujets en rapport avec ce message

Encore Pb avec ReadFile en utilisant les Threads [ par jujunio ] Bonjour à tous !J'tilise la fonction ReadFile pour lire sur port COM.Ca fonctionne correctement sans les Threads.Avec les Threads ça ne veut plus marc variable partagé [ par enrageur ] bonjourDans mon programme, j'ai deux threads. Dans un thread des threads je met à jour régulierement une variable, et dans l'autre je viens lire cette Lecture d'un fichier de données en C [ par sandy27 ] Alors je vais poser une question qui a déjà été posée dans le forum, mais les réponses ne me conviennent pas ! je veux lire un fichier qui contient de lecture de fichiers binaires [ par psycho ] bonjour a tous. Je cherche a lire un fichier .obj (c a dire un fichier compile, mais l edition des liens n est pas encore faites) pour en extraire ses lecture des entrées port// [ par salim_samir ] salut à tous je veut lire les états des 8 entrées sur le port // je sais que le port contient seulement 4 entrées et j'aimperai lire 4 par 4.est ce qu [c++] Lecture port série [ par pop70 ] Bonjour, je recherche désespérément un tuto en français sur la lecture des ports série sur Windows en C++. Mon but étant de lire des données provenant lecture fichier .obj [ par azertyu007 ] salut, je veux lire et extraire les donné d'un fichier .obj mais en utilisant ofstream j'arrive pas a le lire comment je peux lire ce type de fichier Lecture d'une chaine sur un port USB [ par Crazy_Joe ] Bonjour à tous,J'aimerais réaliser un petit programme en langage C me permettant de lire une chaîne de caractère émise par un périphérique sur un port lecture d'un fichier texte [ par moberol ] Bonjour à tous,je suis débutant en C++, J'ai un fichier texte à lire, le but étais  de lire lecture port parallèle avec VB [ par fatinof ] Bonjour, je suis actuellement en train de développer une application de supervision d'un automate, et pour ce faire je dois pouvoir lire les données s


Nos sponsors


Sondage...

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 : 11,092 sec (3)

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