Hi,
After some years of research, i think i've found the problem.
The variable that contains a crazy value is initialized in the first thread.
And, this variable is used in the second thread.
When the program starts, it do that :
@lesLiensEtDebits.Traiter(index);
lesObs.Traiter(TraitementObs::DROPSETCHARGES);@
NOTE : Traiter( ... ) is a method which start the thread with start().
I put one cout where the 1st thread begin, and another when the 2nd one begin too.
When the program starts successfully, there is "one" and "two" at the output.
When the program CRASHS, there is "two" and "one" !! IT'S CRAZY ! The second thread began before the first one !!
So, i trying to do that correctly, so something like
@lesLiensEtDebits.traiter(index);
connect(&lesLiensEtDebits, SIGNAL(finished()), &lesObs, SLOT(Traiter(TraitementObs::DROPSETCHARGES)));@
But the program said me an error , it don't find this slot..
The slot is
@ void Traiter(TraitementObs::type _choix );@
So i want to pass a parameter in the slot, i don't know if we can do that.
Any idea for how to start the 2nd thread AFTER the 1st one finished ?
Thanks for your help,