PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Problème thread et synchronisation
Problème thread et synchronisation
Débuté par savsoft, 21 juil. 2005 18:35 - Aucune réponse
Posté le 21 juillet 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.