Ralentir un prog VB

Mimi -  
 zinkou -
Bonjour...
Je voudrai ralentir une partie de programme VB qui s'execute trop vite...en fait j'ai une fonction qui provient d'un ActiveX et lorsque je l'utilise elle va tellement vite que la moitiée est fait...si quelqu'un comprend mon problème et sait quoi faire merci d'avance...de plus se serais cool que le tps de "ralentissement" soit parametrable...merci

a+++bisous

6 réponses

  1. zinkou
     
    Coucou,
    je rejoinds un peu tard, mais j'ai eu le meme pb; et dans l'aide :

    newHour = Hour(Now())
    newMinute = Minute(Now())
    newSecond = Second(Now()) + 10
    waitTime = TimeSerial(newHour, newMinute, newSecond)
    Application.Wait waitTime

    ça convient bien, comme ça c'est facile de tester combien de temps il faut attendre et donc on perd le moins de temps possible

    a plouch
    1
  2. Bill_Tcherno Messages postés 64 Statut Membre 30
     
    je comprend pas tres bien mais bon je suppose que utiliser un timer serait adapté on lui definit un intervalle en millisecondes et il execute sa fonction a chaque intervalle, sinon il faut aller chercher une api du genre sleep
    0
  3. omar
     
    La version bourrin valable en ttout langage
    tu crée une fonction attente

    function attente(a:entier long en secondes)
    for (int i=0;i<a;i++){;}

    ne return rien

    voila tun l appel en pasant le parametre et c con non!
    0
  4. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Le timer est beaucoup plus propre mais les 2 solutions oblige a parametrer en fonction de la machine, et dans 2 ans tu devras rechanger, c'est pas forcement une bonne idee, tu dois pouvoir plutot genrerer un evenement et ne pas lancer l'autre avant cet evnmt

    .  .
    \_/
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mimi
     
    Merci tous...
    J'ai essayée et c'est vrai tout est plus ou moins bon mais pour finir j'ai opté pour un boucle "do while" dans laquelle j'utilise ma fonction ActiveX et ainsi le prog reste le temps voulu dans cette boucle étant donné que la variable de fin est modifiable...aussi "bourrine" que vous mais ça doit etre ça la demerde ... bon c'est peut etre dangereux ce que je fait maiss en tout cas ça marche sans bugs, c'est le principal ...

    a+++ et encore merci
    0
    1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
       
      Non non, avec ca tu ne devrais pas avoir de probleme, c'est mieux que le timer ou la grosse boucle, pas tout a fait aussi elegant que l'evenement mais beaucoup plus facile et tout a fait fiable...J'eusse du y penser :o)

      .  .
      \_/
      0
    2. Bill_Tcherno Messages postés 64 Statut Membre 30
       
      Bande de fous furieux .... la on peut dire c'est du bourrin en effet !!!
      0
    3. beldyn Messages postés 189 Statut Membre 19
       
      Salut,
      Attention tout de même, si ton activeX est trop long, tu risques de voir apparaitre un message système du genre "Le programme ne répond plus, Terminer oui - non?".
      Pour éviter ça, la solution la plus simple est d'inserer ceci dans la boucle while:
      ' rend la main au système pour ne pas le bloquer
      doevents

      A++
      Beldyn
      0
  7. X
     
    Il existe une bonne solution : met ta fonction dans un timer et ça ralentira le lancement...
    0