|
Problème thread et synchronisation |
Iniciado por savsoft, 21,jul. 2005 18:35 - No hay respuesta |
| |
| | | |
|
| |
Publicado el 21,julio 2005 - 18:35 |
J'ai un problème avec le lancement d'un thread
Voici mon code:
PROCEDURE Thread_presence_fichiers() ok est un booléen valeur est un entier
ok=Verifier_presence_fichiers() SI PAS ok ALORS MoiMême..Plan™ // Pour afficher une jauge de progression ThreadExécute("ThreadInitApplication", threadNormal, Telecharge_config) // Lancement du thread de récupération des données valeur=0 BOUCLE // message pour faire patienter l'utilisateur SCJauge.AffJauge(valeur, 100) valeur+ SI valeur>100 ALORS valeur=0 A FAIRE TANTQUE ThreadAttendSignal(50)=Faux // Attente de 50*0.01 s MoiMême..Plan=0 ok=Verifier_presence_fichiers() FIN SI PAS ok ALORS FinProgramme("Un fichier de configuration manque, l'application ne peut fonctionner correctement.")
PROCEDURE Telecharge_config() SI FTP_Connexion()=Vrai ALORS FTP_Recherche("*.ini?*.pc?*.mdf?alarme.rec") // Telechargement de fichiers FTP_Déconnexion() FIN ThreadEnvoieSignal(".") // Signal pour arrêter la boucle infinie de la procédure Thread_presence_fichiers
Le test "SI PAS ok ALORS" est TOUJOURS vrai dans le cadre de cette validation. Toutes les procédures utilisées sont locales. Le fonctionnement DOIT ressembler à cela (Pas question d'utiliser la méthode Sablier). Le fonctionnement final devras ouvrir une fenêtre popup (au lieu de changer de plan).
Mon problème: Lors du lancement du thread, la jauge commence à se remplir (2 ittérations) puis se freeze. Le thread "ThreadInitApplication" se connecte au serveur FTP et ne télécharge pas de fichiers (procédure ftp_recherche). J'ai essayé avec les méthodes de synchronisation suivantes: signalattend, threadattend, threadattendsignal. Aucune d'entre elles n'as résolu mon prolblème.
Je ne sais plus où chercher. D'avance merci. |
| |
| |
| | | |
|
| | | | |
| | |
|