J'ai une question sur les filets et les commandes. J'ai fait un dialogue modal de synchronisation. Il y a trois barres de progression et deux légendes. Si l'application est ouverte pour la première fois, il ouvrira la boîte de dialogue de synchronisation et fera la mise à jour. Sur la méthode de dialogue Show(), je crée trois threads différents. Chaque thread contrôle le téléchargement des données, l'analyse XML et l'insertion de la base de données. Et puis montre les progrès sur la barre de progression. Tout décrit, fonctionne bien.Fenêtre de fermeture de la butée de fil
Maintenant le problème - Je veux fermer cette boîte de dialogue automatiquement lorsque tous les éléments sont téléchargés, analysés et insérés dans la base de données. J'ai essayé de vérifier si progressbar.position est égal à progressbar.max et j'ai essayé de vérifier si les threads sont terminés. Si je vais avec la barre de progression, la boîte de dialogue se ferme trop tôt et une barre de progression n'est pas totalement terminée. Si je vais avec le thread de contrôle, alors les barres de progression s'arrêtent au milieu du processus et c'est tout.
Peut-être que vous l'avez fait et dire à Delphi n00b, comment est la meilleure façon de le faire.
Merci à l'avance ...
+1 C'est beaucoup plus simple que ma réponse "poster un message"! –
Je vais essayer, est-ce ThreadDecCount un peu d'événement? – evilone
@Evilone: c'est un TNotifyEvent. – jachguate