OVH Cloud OVH Cloud

[WDx] Tache de fond

4 réponses
Avatar
Georges Peyre
Bonjour,

Pour certains ma question paraitra dérisoire mais tant pis, j'espère
simplement obtenir une solution efficace en suivant vos conseils


Je désire exécuter dans une boucle la recherche de tosu les liens morts
dans la liste des adresses des favoris de Internet Explorer

// à chaque lecture d'un enregistrement favoris je désire lancer
HTTPRequete uniquement pour savoir si le lien est actif ou non.

ResLancement = HTTPRequête(WUrl)
SI ResLancement = Vrai ALORS
Trace("Lien existant="+WUrl)
SINON
Trace("Ce lien est mort="+WUrl)
FIN

Cette fonction marche bien.
Mon problème est lié au grand nombre d'enregistrements de favoris et je
voudrais donc que cette recherche se passe en tache de fond en sachant
que je dois charger dans une table les enregistrements des liens morts.

Comment dois-je pratiquer pour ne pas tout bloquer ?

Merci d'avance

Cordialement





--
Elle est pas belle la vie ?

4 réponses

Avatar
Dev
Bonjour,
le thread est ton ami non?

--
Cordialement
Christophe Charron

Service Développement
PROLOGIQ
7 bis Rue des Aulnes
69410 Champagne au Mont d'Or

Tel : 0 437 499 107
Fax : 0 437 499 105
mailto:

"Georges Peyre" a écrit dans le message de
news:
Bonjour,

Pour certains ma question paraitra dérisoire mais tant pis, j'espère
simplement obtenir une solution efficace en suivant vos conseils


Je désire exécuter dans une boucle la recherche de tosu les liens morts
dans la liste des adresses des favoris de Internet Explorer

// à chaque lecture d'un enregistrement favoris je désire lancer
HTTPRequete uniquement pour savoir si le lien est actif ou non.

ResLancement = HTTPRequête(WUrl)
SI ResLancement = Vrai ALORS
Trace("Lien existant="+WUrl)
SINON
Trace("Ce lien est mort="+WUrl)
FIN

Cette fonction marche bien.
Mon problème est lié au grand nombre d'enregistrements de favoris et je
voudrais donc que cette recherche se passe en tache de fond en sachant
que je dois charger dans une table les enregistrements des liens morts.

Comment dois-je pratiquer pour ne pas tout bloquer ?

Merci d'avance

Cordialement





--
Elle est pas belle la vie ?




Avatar
Georges Peyre
Bonjour,

Il se trouve que Dev a formulé :
Bonjour,
le thread est ton ami non?




Oui c'est ce que j'ai tenté de faire avec le code suivant :
Multitâche(-50)
ThreadEnvoieSignal("THFAV")
ThreadArrête("THFAV")

Je ne suis pas familiarisé avec les thread et je ne suis pas sûr de
l'avoir utilisé correctement

Est-ce que je dois placer ce code devant le code FListeFichier c'est à
dire qui lancera un seul thread uniquement AVANT la boucle de lecture
des enregistrements
ou bien
est-ce que je dois placer ce code devant le lancement de la requete
HTTPRequete c'est à dire qu'il y a aura autant de thread que
d'enregistrements

Merci pour ton aide






--
Elle est pas belle la vie ?
Avatar
Erwan
>Bonjour,

Il se trouve que Dev a formulé :
Bonjour,
le thread est ton ami non?




Oui c'est ce que j'ai tenté de faire avec le code suivant :
Multitâche(-50)
ThreadEnvoieSignal("THFAV")
ThreadArrête("THFAV")

Je ne suis pas familiarisé avec les thread et je ne suis pas sûr de
l'avoir utilisé correctement

Est-ce que je dois placer ce code devant le code FListeFichier c'est à
dire qui lancera un seul thread uniquement AVANT la boucle de lecture
des enregistrements
ou bien
est-ce que je dois placer ce code devant le lancement de la requete
HTTPRequete c'est à dire qu'il y a aura autant de thread que
d'enregistrements




Il faut créer une procédure dans laquel tu places le code de ton premier messages.

Ensuite, il faut exécuter cette procédure dans un thread.
Pour cela, tu places le code suivant dans un bouton (au autre) :

threadexecute("THread1",threadnormal,"LaProcedure")

Et c'est tout.


Erwan.
Créateur, designer d'application informatique

--
Message monitoré par axinews : http://www.axinews.com
Avatar
Georges Peyre
Erwan a exprimé avec précision :

Il faut créer une procédure dans laquel tu places le code de ton premier
messages.

Ensuite, il faut exécuter cette procédure dans un thread.
Pour cela, tu places le code suivant dans un bouton (au autre) :

threadexecute("THread1",threadnormal,"LaProcedure")

Et c'est tout.


Erwan.
Créateur, designer d'application informatique.



çà c'est précis : merci Erwan

--
Elle est pas belle la vie ?