Bonjour,
Je suis en train de corriger certains bogues d'une vieille application MDI et notamment le fait que lorsque je quitte le programme en ayant une fenêtre ouverte j'ai une violation d'accès.
Je voulais résoudre le problème en utilisant ma procédure de fermeture de fenêtre tant que j'ai une fenêtre ouverte mais le programme tourne en boucle.
J'ai mis un point d'arret pour regarder ce qui se passe mais le count ne se décrémente pas, ce qui parait normal vu que la fenêtre ne se ferme pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TFrmStart.FichierQuitterClick(Sender: TObject); begin while (FrmStart.MDIChildCount > 0) do begin FrmStart.ActiveMDIChild.Close; end; Application.Terminate; end;
Le code suivant fonctionne sur toutes mes fenêtres
Je ne comprend pas pourquoi lorsque je remplace la condition par une itération cela ne fonctionne plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TFrmStart.FichierFermerClick(Sender: TObject); begin If ((FrmStart.MDIChildCount)>0) then FrmStart.ActiveMDIChild.Close; end;
La réponse est peut-être toute bête mais je ne la connais pas.
Si vous pouvez éclairer ma lanterne...
Merci
Partager