Bonjour, actuellement en projet de fin d'ann�e de BTS IRIS je suis oblig� de travailler sous C++Builder 5 et j'ai a cr�er un serveur TCP tournant dans un thread de fa�on � ne pas bloquer mon programme. Je suis face � un probl�me insoluble (tellement WTF) je m'en remet donc au forum si quelqu'un avait la capacit� et la patience de voir d'o� mon probl�me peut venir cela m'aiderait beaucoup ayant �puis� toutes mes ressources.
(Je suis oblig� de faire un thread d� � la fonction accept de mon serveur tcp).
Je vous copie/colle une partie de mon code :
Initialisation du thread (Form1):
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 Timer1->Enabled=1; tcp=new thread_tcp(&val_tcp,&vmc);
Constructeur du thread (thread.cpp):
Fonction Execute (bloquante, thread.cpp) :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 __fastcall thread_tcp::thread_tcp(bool *valeur,VMC *Vmc) : TThread(false) { serveur.init(17000); val=valeur; vmc=Vmc; k=*val; Form1->ListBox1->Items->Add("plop"+(AnsiString)k); sauv_vit_app=new float[vmc->getnbVMC()]; bzero((float *)sauv_vit_app, sizeof(*sauv_vit_app)); }
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 void __fastcall thread_tcp::Execute() { int err=0; Form1->ListBox1->Items->Add("plooooop"+(AnsiString)k); while(*val) { serveur.attenteco(); while( (err==0) && (*val==1) ) { err=serveur.reception(); Synchronize(traitement); err=serveur.envoie(); } err=0; } }
Je vous transmet aussi ce que j'ai a l'affichage dans ma ListBox :
Avec un Evaluate/Modify je me rends compte que mon pointeur "val" n'a plus d'adresse ni de valeur. Je remercie ENORMEMENT les courageux qui jetterons un �il � �a !plop1
plooooop0![]()
Partager