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] Comment faire du multitaches?


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] Comment faire du multitaches?
    Bonjour à tous,

    A intervalle régulier, mon programme execute une requete de type SELECT pour récupérer une liste dans ma base.

    Pour chaque enregistrement renvoyé, je souhaite effectuer un traitement spécifique. Pour celà, une méthode consiste à faire une boucle, et pour chaque enregistrement lancer ma procédure.
    Dans ce cas là, je suis obligé de faire ligne par ligne.

    Je souhaiterais lancer une procédure sur la ligne 1, et en même temps lancer cette procédure sur les autre lignes sans attendre la fin du traitement de la ligne précédente.

    Est-ce possible en VB6? Si oui, sur quelles solutions puis-je m'orienter?

    Merci
    Xavier

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Possible oui ...

    il faut faire du multithread .. je suis pas sur que l'on est quelque chose d'écrit la dessus mais une recherche sur le forum ...

    Si j'aurais a faire cela aujourd'hui je m'orienterais vers une combinaisons VB6 et .NET :

    Etude de développement Multi-threads avec Visual Basic 6.0 et le Framework .NET 2.0


    tiens nous au courant

  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
    Ok, merci, j'avais vu le lien que tu m'as donné.

    J'essayais cette piste:
    http://www.developpez.net/forums/d28...-parallele-vb/

    Mais erreur à la fin, vb6 plante. Sinon ça a l'air de fonctionner.
    Xavier

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Et lors de l'arrêt tu ferme bien tous les message box avant d'arrêter le programme ?

  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
    pour cet exemple là avec les msgbox, ça fonctionne, mais dans un autre test ça ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
     
    Sub Main()
        ' On crée les thread
       Form1.Show
     
        SHCreateThread AddressOf ShowMsgBox, ByVal 0&, CTF_INSIST, ByVal 0&
        SHCreateThread AddressOf ShowMsgBox2, ByVal 0&, CTF_INSIST, ByVal 0&
        SHCreateThread AddressOf ShowMsgBox3, ByVal 0&, CTF_INSIST, ByVal 0&
     
     
    End Sub
     
    Sub ShowMsgBox()
         For i = 1 To 1000
            Form1.Text1.Text = i
        DoEvents
        Next
     
    End Sub
     
    Sub ShowMsgBox2()
        For i = 1 To 1000
            Form1.Text2.Text = i
        DoEvents
        Next
    End Sub
     
    Sub ShowMsgBox3()
        For i = 1 To 1000
            Form1.Text3.Text = i
        DoEvents
        Next
    End Sub
    Sinon, pour combiner VB6 et .NET, si je n'ai QUE VB6 d'installer, ça va fonctionner? Ou j'ai besoin d'autre chose?
    Xavier

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    pour la version API ... ton plantage à la sortie du programme est surement du a une mauvaise synchro.. entre tes threads , avant de sortir de ton programme (et donc te ton thread principal) tu dois être sur que tous les autre threads lancés sont terminés..


    Pour le .Net tu dois au minimum avoir besoin du framwork .Net .. faurait lire l'article...

  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
    et comment être sûr que le thread est terminé?

    Pour ce qui est du .NET, j'ai bien lu l'article, mais comme c'est un truc que je découvre, je n'étais pas sûr.
    Xavier

Discussions similaires

  1. [VB6]Comment faire pour que le caption d'une ARProgressBar..
    Par MegaBigBoss dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 02/04/2006, 20h42
  2. [VB6] Comment faire un update sur des textbox qui sont créés
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 27
    Dernier message: 16/02/2006, 14h52
  3. [VB6] Comment faire une dll classique ?
    Par doudoustephane dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 05/01/2006, 13h34
  4. VB6: Comment faire un tableau de tableaux ?
    Par AsmCode dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 10/11/2005, 22h57
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13

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