Le multi-threading, c'est possible ?

Signaler
Messages postés
3
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
4 juillet 2002
-
Messages postés
3
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
4 juillet 2002
-
Bonjour,

Je tente (vainement) de faire une application lançant des fenêtres ayant un traitement indépendant les unes des autres, j'ai bien essayé la fn CreateThread, mais ca plante lamentablement.

En fait, l'idée de départ est un truc tout simple, et ce pourrait être un bon exemple pour bien comprendre l'enjeu : J'ai une procédure principale dont le temps d'exécution est assez lourd (accès BDD, grosse requête, bcp de données) et pendant que la requête s'execute, (+ 1 min des fois) j'aimerai bien avoir une fenêtre qui fait chrono, histoire de montrer à l'utilisateur que tout va bien. De meme, un petit bouton STOP qui interromprait l'exécution serait le bienvenu

Seulement voila, l'exécution est bloquée par l'instruction de lancement de requete (attente d'exécution de la base), donc meme une fenetre avec un timer dedans ne se rafraichit pas d'ou l'idee du multi-threading... qui ne marche pas (enfin, que je ne sais pas utiliser :big) )

Voila, la boucle est infiniement itérée (!), j'ai besoin d'aide, je crois ...

Merci d'avance

.:__S_CREACH__:.

2 réponses

Messages postés
360
Date d'inscription
vendredi 24 août 2001
Statut
Membre
Dernière intervention
9 juillet 2008
3
Et un DoEvents ou un Sleep() ne suffirait'il pas ?

==============
Site Web de JDPROG
Présentation de MP3 Index

http://jdprog.fr.st
0
Messages postés
3
Date d'inscription
mercredi 3 juillet 2002
Statut
Membre
Dernière intervention
4 juillet 2002

Eh bien, en effet, en posant ce genre de chose un peu partout, on peut contourner le problème, mais je voudrais plutot m'y confronter ;)

Et puis, par exemple, j'ai une instruction (ouverture de curseur SQL (type ADODB.RecordSet) ) qui peut mettre plus d'une minute à s'éxécuter (car les Query sont complexes et lourdes). Donc quand je fais Ma_requete.open, je me retrouve avec une fenêtre qui se rafraichit pas et bloque les évènements: l'utilisateur peut alors penser que le prog est bloqué et risque de bidouiller pour l'arrêter : un petit bouton Cancel serait le minimum, si par exemple on se rend compte en cours d'éxec. que c'est la requête qui est mal fichue

Quoiqu'il en soit, le prob. du multithreading me semble intéressant en lui même ... N'est-ce pas ?

.:__S_CREACH__:.
0