Bonjour,
Sur une application de BD, j'ai plusieurs fenêtres. Sur certaines, on peut lancer un traitement utilisant un datamodule en appuyant sur un bouton, le problème, c'est lorsqu'on quitte la fenêtre pendant le traitement, je désalloue mon datamodule dans le FormClose. Le programme fait donc le traitement, l'utilisateur ferme la fenêtre, donc le programme passe à la méthode FormClose qui désalloue le datamodule, et ensuite il revient au traitement pour le finir, mais les références au datamodule font des violations d'accès, et ensuite la fenêtre se ferme.
Je ne peux pas me permettre de me contenter d'empêcher la fermeture de la fenêtre pendant le traitement, sinon ça n'aurait pas posé de problème.
J'ai essayé lors du FormCloseQuery de mettre un booléen à vrai pour dire qu'on a demandé à fermer la fenêtre, et tester dans les traitements si le booléen est à faux, dans les boucles notamment, mais je me suis rendu compte qu'en fait il faudrait le faire pour chaque instruction qui fait référence à un composant qui est désalloué dans le FormClose... Ce qui n'est bien entendu pas une solution, ça allourdirai considérablement le code.
Voilà où j'en suis, si qqun voit ce qu'il faut faire pour permettre de fermer la fenêtre proprement pendant un traitement en cours... Car moi je ne sais plus quoi essayer ... L'idée de tout mettre entre try ... except ne peut pas aller je pense, car si un jour j'ai une vraie erreur / exception non prévue, je ne le verrai pas...
merci d'avance![]()
Partager