Mon application étais correcte.
Mais, depuis que je suis passé sur C++Builder6 j'ai un problème.


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
18
19
20
21
22
23
24
25
26
27
28
//--- Dans ma form principal a la creation je fais ceci
HSignal = CreateEvent(NULL, TRUE, TRUE, NULL);
        // On lance le thread
LeThread = new threadprincipal(false);
//---
 
 
//-- Dans l'execute du thread j'ai ceci
while (!Terminated)
  {
      test = "Debut" ;
      Synchronize(Affiche2) ; // bien sur Affiche2 existe
 
        // On fait une petite pose
      WaitForSingleObject(HSignal, 10000) ;
      ResetEvent(HSignal);
 
      test = "Fin" ;
      Synchronize(Affiche2);
  }
// --
 
//--- Et dans l'evenement OnClose de la fenetre principal j'ai ceci
SetEvent(HSignal);
LeThread->Terminate();
LeThread->WaitFor(); // j'ai une erreur ici
CloseHandle(HSignal);
//--
L'erreur ce fait sur le WaitFor()

j'ai le message
Project xxxx raised exception class EOSError with message 'System
Error'. Code 6. The handle is invalid'
Process stopped. Use Step or Run to continue.

Je ne comprends pas ce que je dois faire

Merci pour l'aide

[Balise [code] rajoutée par gRRosminet]
[Pensez-y vous-même à l'avenir. Merci.]