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 :

prob entre CommandButton et Combobox


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Par défaut prob entre CommandButton et Combobox
    Boujour à tous

    Je travaille dans VB6.
    Lorsque je place le code suivant dans une Sub Command1_Click()
    tous ce passe bien (avec un point d'arret pour verifier!).

    Mais le même code dans une Sub Combo1_Click() me declanche une erreur
    du type 'impossible dans ce context'.

    Je n'ai rien trouvé a ce sujet dans le forum.

    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
     
    Dim var As Boolean
    Private Sub Combo1_Click()
        Me.Controls.Add "VB.Frame", "frame1"
           With Me.Controls("frame1")
                .ForeColor = &HFFFF&
                .BackColor = &H40&
                .BorderStyle = 1
                .Top = 680
                .Left = 280
                .Width = 11500
                .Height = 3500
                .Visible = True
            End With
        var = True
        If var = True Then
            Me.Controls.Remove "frame1"  'declanchement d'une erreur'
        End If
    End Sub
    Si quelqu'un a une idée.

    Merci d'avance.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Je n'ai pas VB sous la main pour vérifier l'exactitude de ton code et te fais donc confiance.

    Une chose me saute aux yeux, cependant :

    Tu veux créer un mort-né sans lui laisser le temps de naître (ce que ton point d'arrêt permettait, avec ton commandbutton.....

    essaye donc de mettre un Doevents après
    Me.Controls.Add "VB.Frame", "frame1"
    et au besoin un autre après ton End With

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Par défaut
    Merci de ta reponse rapide Ucfoutu

    Petite précision, ce code est un code de test.
    Mon but n'est pas d'afficher une frame mais de
    resoudre le fait que ce code ne fonctionne pas
    pour utiliser la solution (si solution il y a) dans un autre code
    plus complexe.

    solution y a t'il ????

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    As-tu lu ce que j'ai écrit ?
    As-tu inséré le doevents ?

    C'est avant tout un problème d'existence de ce que tu tues !!!

    Te viendrait-il, à l'idée (par exemple), de mettre une tétine dans la bouche d'un bébé tout de suite après l'avoir conçu, sans attendre les 9 mois qui lui sont nécessaires pour naître ?

    Non, bien évidemment.

    Or, dans ton code :
    1) tu conçois ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Controls.Add "VB.Frame", "frame1"
    2) tu prends un couteau là :
    au passage : évite de nommer Var une variable

    3) tu dis : "puisque j'ai un couteau, je tue" là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If var = True Then
            Me.Controls.Remove "frame1"  'declanchement d'une erreur'
     End If
    sans même savoir si le temps nécessaire à la création s'est écoulé depuis le moment de la conception (temps que permet ton point d'arrêt dans ton essai avec un CommndButton ....

    Si maintenant ta question est : comment puis-je faire pour supprimer ce qui n'a pas encore eu le temps d'être créé, la réponse est élémentaire et évidente ....

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Par défaut
    Je viens d'essayer avec DoEvents

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    Me.Controls.Add "VB.TextBox", "frame1"
        DoEvents
    ...
    Même résultat.

    Si le probleme est au niveau de la creation de la Frame
    pourquoi le code dans un Command Button fonctionne ?

    (mon but final étant d'ajouter dynamiquement des textbox, listbox, button
    et autre... en fonction de la selection d'une ComboBox et de les supprimer
    au changement de selection.
    je ne suis pas encore une brute en prog, c'est peut-être que ma démarche n'est pas la bonne?)

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Je n'en sais rien (pas VB sous la main) !!!

    De mémoire alors (sans garantie du gouvernement) :

    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
    Private Sub Command1_Click()
        Dim ctrl As Control
        Set ctrl = Controls.Add("VB.Frame", "Frame1")
        With ctrl
                .visible = true
                .ForeColor = &HFFFF&
                .BackColor = &H40&
                .BorderStyle = 1
                .Top = 680
                .Left = 280
                .Width = 11500
                .Height = 3500
                .Visible = True
            End With
         DoEvents
    End Sub
    serait la syntaxe que j'utiliserais...

    Puis je me réfèrerais à ctrl pour zigouiller ....

    Mais bon.... C'est à main levée et de mémoire... alors, je peux me tromper ....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 21/11/2007, 19h32
  2. relation entre Listbox et combobox
    Par l3wix dans le forum VB.NET
    Réponses: 0
    Dernier message: 17/08/2007, 17h07
  3. [VB.Net]Liaison entre listbox et combobox
    Par DonF dans le forum Windows Forms
    Réponses: 13
    Dernier message: 22/09/2006, 17h44
  4. [Cookies] $_SESSION['a']; Prob entre firefox et IE
    Par Djwaves dans le forum Langage
    Réponses: 16
    Dernier message: 13/02/2006, 19h10
  5. [VB6] suggestion des entrés dans un combobox
    Par s.rais dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/02/2004, 15h32

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