IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] Ressources UC


Sujet :

VB 6 et antérieur

  1. #1
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut [VB6] Ressources UC
    Bonjour,

    J'ai une appli vb qui tourne en permanence sur le pc, mais elle prend pas mal de ressources (je le vois dans le gestionnaire de tâche).

    Y-a-t-il la possibilité de prendre moins de ressources?
    Dans les processus, colonne Processeur, je suis à 98...

    Merci
    Xavier

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Si elle prend des ressources, c'est qu'elle a des choses à faire.
    Soit elle a trop de choses à faire, et il n'y a pas grand-chose à espérer, soit elle n'en a pas tant que ça, mais elle les fait mal, et c'est le code qu'il faut optimiser.

  3. #3
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    Elle scrute la base de données toutes les 10 minutes et affiche dans un datagrid les données. c'est tout.
    Xavier

  4. #4
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Et comment as-tu codé ton intervalle de 10 mn ?

  5. #5
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PauseTime = 600   ' Définit la durée.
        Start = Timer   ' Définit l'heure de début.
     
        Do While Timer < Start + PauseTime
            DoEvents   ' Donne le contrôle à d'autres processus.
        Loop
     
        Finish = Timer   ' Définit l'heure de fin.
        TotalTime = Finish - Start   ' Calcule la durée totale.
    Xavier

  6. #6
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Sors le DoEvents de la boucle de ton compteur, déjà.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoEvents
    Do While Timer < Start + PauseTime 
    Loop
    Ça change quelque chose?

  7. #7
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    ça rame encore plus... enfin, un peu plus.
    Xavier

  8. #8
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Heum...
    Bon, et si tu utilises "Application.Ontime" pour lancer périodiquement ta mise à jour de Datagrid?
    Je balance des idées comme ça, sans savoir ce que ça va donner, désolé...

  9. #9
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    Citation Envoyé par Megaxel
    Bon, et si tu utilises "Application.Ontime" pour lancer périodiquement ta mise à jour de Datagrid?
    c'est quoi Application.ontime?

    Sinon,
    Citation Envoyé par Megaxel
    Je balance des idées comme ça, sans savoir ce que ça va donner, désolé...
    vas-y, te gène pas...
    Xavier

  10. #10
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Regarde cet exemple, donné par Ouskel'n'or:
    http://www.developpez.net/forums/vie...ication+ontime

  11. #11
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    ça marche pas, "un objet est requis". Mais le vba est pas différent de vb tout court?
    Xavier

  12. #12
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    PauseTime = 600
    Do While Timer < Start + PauseTime
    DoEvents ' Donne le contrôle à d'autres processus.
    Loop
    passe la main au système pendant 10 minutes !
    c'est très différent d'un lancement toutes les dix minutes !
    Montres nous, sous forme synoptique, le mécanisme de cette histoire là !...Car c'est à mon avis sa philosophie qu'il faudra revoir ...

  13. #13
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Salut,

    Sinon, vu que tu travailles avec VB6, tu peux mettre en place un timer...

    Par contre, il y a un petit inconvénient à utiliser le timer c'est qu'il est limiter à 1 événement toutes les 65000 ms au maximum, tu utilises un "indice de temps" pour effectuer des taches qu'à un moment précis...

    Tu règles l'intervalle du Timer à 60000 ms (1min)

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub tmTimer_Timer()
    'Gestion du timer
     
        IndTemps = IndTemps + 1
     
        Select Case IndTemps
            Case 10     '10 minutes
                IndTemps = 0    'Réinitialisation du compteur
                ' là tu places ton code pour la lecture de ta base ou l'appelle de la routine qui l'exécute
            Case Else   'Autres cas
        End Select
    End Sub
    Et voilà

    J'espère que cela pourra t'aider

    +

    Théo
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  14. #14
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Tu as laissé "Application" devant "Ontime"?
    Puisque tu es en VB6, je ne sais pas trop comment ça fonctionne. L'aide en ligne, elle te dit quoi? Y'a pas un petit exemple?

  15. #15
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    Citation Envoyé par jmfmarques
    passe la main au système pendant 10 minutes !
    c'est très différent d'un lancement toutes les dix minutes !
    Montres nous, sous forme synoptique, le mécanisme de cette histoire là !...Car c'est à mon avis sa philosophie qu'il faudra revoir ...
    Voila comment ça se passe:
    1- Je démarre mon appli
    2- Je me connecte à la base de données
    3-Je récupère mes valeurs
    4-J'attends 10 minutes
    5-Je reprends à partir du 3-
    Xavier

  16. #16
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Déjà : libères-toi de la base de données (fermes la après traitement et reprends du 2). Je continue à réfléchir ...

  17. #17
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    le pb, c'est que si je ferme la base de données en faisant un rsADO.close
    le contenu du datagrid disparait...
    Xavier

  18. #18
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Ben !.... tu le récupères où tu veux après consultation... puis le reconstitues à nouveau 10 minutes plus tard !
    Ce procédé te prendra moins de ressources que le maintien, en ouverture, de ta SGBD et des runtimes dont elle se sert !....

  19. #19
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    Citation Envoyé par jmfmarques
    Ben !.... tu le récupères où tu veux après consultation...
    je le récupère dans quoi par exemple?
    Xavier

  20. #20
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    tient voila ce que je te propose.

    il me semble que si tu ne ferme ni ta connexion a la BD, ni ton recordset alors ton datagrid sera automatiquement rafraichis (enfin tu n'aura plus a le faire toi meme), et tu aura en continu ton datagrid a mis a jour. Et je croit aussi que ca te prendrais moins de ressource.
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/06/2016, 18h20
  2. Utilisation d'un fichier ressource C->VB6
    Par Renaud976 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/03/2013, 13h35
  3. [VB6] Problème ajout d'un fichier ressource
    Par jul54 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 21/02/2007, 14h39
  4. [VB6] Définition langue défaut ressource multilingue
    Par Theocourant dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 29/09/2006, 15h13
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo