Merci luthor j'ai trouvé des exemples interessants concernant les
thread mais ca va m'embistrouillé, autant utilisé un timer je pense.
En fait je me suis peut être mal exprimé, voici la boucle de mon code qui merdouille :
// avant je récupére l'étape( i ) de l'heure actuele
// j'applique les charges jusqu'à la derniere etape
//
fait partie du code du bouton "appliquer profil"for( i; i<=(taille/5)-1; i++)
// pour chaque etape du profil on
applique les charge
{
int
heurerecup=tabetape[i].DonneTonhd();
int
minuterecup=tabetape[i].DonneTamd();
int
hfrecup=tabetape[i].DonneTonhf();
int
mfrecup=tabetape[i].DonneTamf();
Etape.PrendPourhd(heurerecup);
Etape.PrendPourmd(minuterecup);
Etape.PrendPourhf(hfrecup);
Etape.PrendPourmf(mfrecup);
// on recuperele nombre de charge correspondant a l'etape actuelle
int
chrgerecup=tabetape[i].DonneCharges();
Etape.PrendPourchrgesRecuperees(chrgerecup);
applique_les_charges();
// je trace le profil pas à pas qui suit la courbe théorique si il n'y a pas de délestage
tracecourbeactuelle();
// SetTimer(1,2000,NULL); // timer mais ca marche encore moins!
}
le probléme déja ca merdouille au niveau de tracecourbeactuelle();
ca me trace bien la courbe qui recouvre la théorique mais quand le
profil est terminé,alors que je veux que ca trace au fur et a mesure
des étapes surrement parceque je suis dans une boucle.
cependant j'ai mis un sleep de 2s aprés avoir appliquer les charges puisque c'est une simulation :
void CProfil_automatiqueDlg::
applique_les_charges()
{
int chrgerecup=Etape.DonneChargesRecuperees();
if(chrgerecup==1)
{
theApp.charge->CommuteCharge('1');
Etape.PrendPourchrge(chrgerecup);
Sleep(2000);
}
...
}
je ne vois pas du tout comment faire même avec un timer,
je vois pas pour faire pété la boucle, faut dire que je n'ai jamais utiliser de timer, j'ai créé le onwmtimer:
void CProfil_automatiqueDlg::OnTimer(UINT nIDEvent)
{
// code
CDialog::OnTimer(nIDEvent);
}
, si je comprend bien on mé le code dedans et quand on veut l'appeler on fait un truc du genre SetTimer(1,2000,NULL);
puis ya aussi le killtimer dés que l'on veut que ca s'arréte mais je
comprends pas ca foirre lol : ca me trace que la derniere etape avec le
timer!!
en fait ca applique les charges normalement mais ca ne trace pas la
courbe au fur et à mesure! Puisque le systéme est apparemment bloquant(
impossible de bouger la fenêtre tant que le profil n'est pas finis) à
cause de la boucle.

Pour le serveur ca sera good si je me débloque de la puisque j'utilise
un serveur asynchrone avec 2 classe CSocketecoute et CSocketdialogue
héritant de CSocket

.
Si quelqu'un a une idée

... Merci