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 :

petite question Show vbModal


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Par défaut petite question Show vbModal
    Bonjour,
    J'aurai une question ou en tout cas un besoin d'éclaircissement.
    Dans un formulaire Form1, sur un évènement click, je fais appel à un autre formulaire avec Form2.Show vbModal.
    Form2 se charge correctement. Mais par contre, lorsque je fais un Unload me sur un évènement click d'un bouton dans le form2, j'aimerai que le code en dessous de l'instruction Form2.show vbModal s'exécute.
    Or actuellement, il retourne au tout début de la fonction du Form1 appelante. Du coup je tombe sur une boucle infinie.

    Je sais pas si j'ai été très claire...

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    c'est pas normal.

    Montre ton code svp, la fonction appelante depuis form1 et le bouton d'unload de form2.

  3. #3
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Il ne faut surtout pas faire un Unload Me sur le Form2. Une fois cette Fenêtre déchargée de la mémoire il est impossible d'exécuter le code qu'elle contient.

    Tu devrais plutôt simplement faire un Me.Hide. Tu déchargeras le Form2 de la mémoire depuis le code du Form1.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Par défaut
    J'ai une erreur tres etrange.... On dirait qu'apres mon instruction
    form2.show vbModal, TOUS les MsgBox()
    1- ne s'affichent pas
    2- et en plus me fait retourner au début de la fonction appelante!

    Est ce que c'est du au fait que
    Form0 ouvre Form1 en show vbModal
    Form1 ouvre Form2 en show vbModal ?
    En gros, voila ce que je fais :
    Dans un Form1 j'ouvre mon Form2 en vbModal
    sur evenement d'un bouton, je fais Unload Me dans le Form2
    --> si dans Form1 il n'y a aucun MsgBox apres cette instruction: tout se passe bien
    --> si il y a un msgBox,je retourne au debut de ma fonction.

    Le code simplifié serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Form1 - Bouton1_click()
     ...
    for i=1 to 10
    Form2.Show vbModal
    MsgBox("un message quelconque")
    next i
    end sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Form2 - Bouton2_click()
    Unload me
    end sub

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    fait un copié collé complet des fonctions stp, sinon on ne peut pas t'aider.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Par défaut
    Que je rajoute un MsgBox() n'importe ou apres l'ouverture du form2, il va revenir au début de la procédure B_Add_Click(). DU coup, je tombe sur une boucle infinie...
    (J'ai fait afficher un MsgBox juste avant la boucle For pour vérifier)
    FORM1
    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
    Private Sub B_Add_Click()
     
    For i = 0 To x 
     
        Select Case a
            Case "abc"
     
                form2.Show vbModal
     
                If Trc.frmGetTitreText = "" Then
                    Trc.frmGetTitreText = Lst_Type.list(Lst_Type.ListIndex)
                End If
     
            Case "def"
     
                Trc.frmGetTitreText = Trc.GetShortTitle(Trc.CopySourceID)
     
        End Select
        ...
     Next i
    end sub
    FORM2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub B_Ok_Click()
     
    Trc.frmGetTitreText = Text1
    Unload Me
     
    End Sub

  7. #7
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Citation Envoyé par cath007
    J'ai une erreur tres etrange.... On dirait qu'apres mon instruction
    form2.show vbModal, TOUS les MsgBox()
    1- ne s'affichent pas
    2- et en plus me fait retourner au début de la fonction appelante!

    Est ce que c'est du au fait que
    Form0 ouvre Form1 en show vbModal
    Form1 ouvre Form2 en show vbModal ?
    En gros, voila ce que je fais :
    Dans un Form1 j'ouvre mon Form2 en vbModal
    sur evenement d'un bouton, je fais Unload Me dans le Form2
    --> si dans Form1 il n'y a aucun MsgBox apres cette instruction: tout se passe bien
    --> si il y a un msgBox,je retourne au debut de ma fonction.

    Le code simplifié serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Form1 - Bouton1_click()
     ...
    for i=1 to 10
    Form2.Show vbModal
    MsgBox("un message quelconque")
    next i
    end sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Form2 - Bouton2_click()
    Unload me
    end sub
    Si je lis bien ton code,
    Ton cycle est : la form2 sera affiche, quand celle ci sera fermée, un msgbox sera decleché
    Quand la boite de message sera fermée, le cycle sera répété 9 fois (for i=1 to 10)
    Rien d'anormal à ce que la form2 soit réaffichée apres le msgbox

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Par défaut
    le poroblème c'est que quand je ferme mon Form2, il ne m'affiche pas mon MsgBox et revient au début de la fonction Bouton1_click() de la form1. Par conséquent je tombe sur une boucle infinie...
    Pour pas me prendre la tete, j'ai tout simplement ôté mon MsgBox et étrangement cela fonctionne bien. Mais j'aurais quand même aimé comprendre pourquoi a chaque msgbox apres mon show vb modal (donc apres un unload du form appelé), je reviens au début de ma fonction.

Discussions similaires

  1. [Visuel XP] Petite question sur le theme XP...
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 12
    Dernier message: 20/01/2005, 14h41
  2. [CR8.5] petite question ..
    Par mcrocher dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 13/09/2004, 15h04
  3. Une petite question
    Par Etienne1 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/08/2004, 16h19
  4. [FOREIGN KEY] petite question bete ...
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 16h35
  5. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49

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