Donner la main aux autres applications

Résolu
cs_felipe99
Messages postés
6
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
19 avril 2007
- 17 avril 2007 à 16:31
cs_felipe99
Messages postés
6
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
19 avril 2007
- 17 avril 2007 à 20:37
Voici mon probleme. J'ai un code qui a une grosse boucle ou a chaque fois il y a un ping. Quand le programme est dans cette boucle je ne peux rien faire. Je voudrais pouvoir rendre la main aux autres taches pendant le ping et puis retourner voir ensuite si ce ping est fini.
Comment est ce que je peux faire ceci afin d'obtenir plus de fluidite dans mon programme ?
Merci 

9 réponses

cs_Exploreur
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
17 avril 2007 à 16:38
Salut,

Voir du côté de : DoEvents

A+
Exploreur

 
3
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
17 avril 2007 à 19:59
Le ping pouvant être très long avant d'arriver au DoEvents, ton prog se figera et tu ne pourras rien y faire en VB6 qui ne connait pas les threads.

ciao...
BruNews, MVP VC++
3
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
17 avril 2007 à 20:15
Aucune en VB6, trop vieux, faut migrer sur .net

ciao...
BruNews, MVP VC++
3
cs_felipe99
Messages postés
6
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
19 avril 2007

17 avril 2007 à 18:56
Ok merci maintenant mon programme est beaucoup plus fluide.
Cependant je me demande si il n'y a pas un autre moyen de faire car si on fait tourner une tache qui prend 5 minutes dans une boucle et que l'on met DoEvents dans la boucle alors on a la main seulement toutes les 5 minutes, non?
Desole si la question parait concon mais je fais du VB depuis 4 jours donc ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
17 avril 2007 à 19:08
Salut,

Voici ce que donne l'aide en ligne de vb(exemple de DoEvents dans une boucle)...

DoEvents, fonction, exemple
Cet exemple utilise la fonction DoEvents afin que l'exécution soit cédée au système d'exploitation une fois toutes les 1000 répétitions de la boucle. La fonction DoEvents renvoie le nombre de feuilles Visual Basic ouvertes uniquement si l'application hôte est Visual Basic.

' Crée une variable pour maintenir le nombre de
' feuilles Visual Basic chargées et visibles.
Dim I, OpenForms
For I = 1 To 150000   ' Lance la boucle.
   If I Mod 1000 = 0 Then    ' Lorsque la boucle s'est
                           ' répétée 1000 fois.
      OpenForms = DoEvents   ' Cède le contrôle au
                           ' système d'exploitation.
   End If
Next I   ' Incrémente le compteur de boucle.


A+
Exploreur

 
0
cs_felipe99
Messages postés
6
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
19 avril 2007

17 avril 2007 à 20:10
A ba merde parce qu'en faite je ping 255 adresses dans une boucle.


C'est vrai que DoEvents m'a quand meme permis de gerer un peu mieux cela mais il arrive tout de meme que mon bouton exit ne marche pas.


Ou alors il faut que j'insiste un peu sur le bouton. Il n'y a vraiment pas de solution ?
0
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
17 avril 2007 à 20:25
met un doevents entre chaque ping

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
17 avril 2007 à 20:29
C'est ce qu'il fait, pour autant un prog ne doit pas figer tout le temps que peut prendre un ping, XP ou Vista va virer le prog avec l'habituel "le programme ne répond pas".

ciao...
BruNews, MVP VC++
0
cs_felipe99
Messages postés
6
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
19 avril 2007

17 avril 2007 à 20:37
Ouais c'est un peu cela et ca me pose un probleme car quand l'adresse ne repond pas ca prend du temps.
0