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 4821 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 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
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 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
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 4821 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 40
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 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
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
Rejoignez-nous