Bonjour messieurs et peut être aussi mesdammes

Je vous lance un appel à l'aide car je ne sais plus comment m'ensortir

Description du probleme:

j'ai une fonction thread qui tourne en boucle et je voudrais que cette fonction m'ouvre autant de fenetre Form2 que de condition accepté.
je m'explique, si la contition est validé 10 fois il faut que 10 fenetres Form2 s'affiche à l'écran.

voici un bout de mon thread:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 void __fastcall TLumiere::Execute()
{
deb:
if (defaut_PMJ1 == true && defaut_PMJ1_temp == false)
        {
        defaut_PMJ1_temp = true;
        Form2 = new TForm2(this);
        Form2->Show();
        }
goto deb;
}
le problême est que cette fonction ne fonctionne pas, et je n'ai aucune idée pour la faire fonctionner.
Bizzarement, lorsque je mets cette fonction dans un bouton de ma form1 tous ce passe tres bien, une nouvelle fenetre s'ouvre à chaque fois que je clique sur le bouton (si je supprime le if).
Je précise que le thread fonctionne tres bien car si je mets en commentaire Form2 = new TForm2(this); et Form2->Show(); tout fonctionne

Vous avez une idée?? je patoge... je patoge...



une précision, je suis sous C++ Builder 6