[VB6] Ouverture de Forms Conditionelle dans une procédure
Bonjour.
Le contexte:
Une application en VB6 avec une 40n de Formulaires. Actuellement nous effectuons une mise à jour de tous les formulaires.
Dans l'ecran principal nous avons une barre de menu qui nous permet de lancer tel ou tel menu. tout ceci marche trés bien.
Actuellement, je cherche, via une procédure à ouvrire un formulaire mais ...
Ici je clic sur mon menu qui va appeler la fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Private Sub MNBateauPlanChargement_Click()
On Error GoTo InterceptionErreur
'Gestion du plan de chargement
'=============================
Screen.MousePointer = vbHourglass
Call ouvre(GestionBateau)
Exit Sub
InterceptionErreur:
Call TraitementErreur("MNBateauPlanChargement_Click Menu_Principal")
Resume
End Sub |
Ma procédure "ouvre" va devoir verifier si l'option "V2" stocké dans un fichier .ini est active ou non. puis en fonction lancer
soit un formulaire :
- GestionBateau
soit le nouveau
- GestionBateau2
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Public sub ouvre(form_a_ouvrir As Form)
Dim Chaine As String
'Fonction de lecture du fichier ini
Chaine = RdChaine("UPDATEVUE", "UtilisationVueV2", "0")
If Val(Chaine) <> 0 Then
form_a_ouvrir = form_a_ouvrir & 2
End If
Load form_a_ouvrir
form_a_ouvrir.Show
End sub |
Le probléme c'est que je n'arrive pas à concaténer une Chaine de caractére à la suite de l'objet form. (en même temp je comprend)
j'ai essayer de convertir "form_a_ouvrir" en String, mais il n'aime pas n'ont plus.
j'ai une autre solution, qui consisterai à passer les deux forms en parametre mais je suis têtu et je veux savoir si cela est possible sans passer les deux.
merci d'avance de votre aide.
Guillaume
Re: Ouverture de Formulaire Conditionelle dans une procédure
Fin Janvier,
Citation:
Envoyé par jacma
J'ai été confronté à un problème similaire il y a peu, consistant à ouvrir une form selon son nom contenu dans une variable. J'ai beaucoup cherché, ici et ailleurs, sans obtenir de solution.
En l'état actuel de mes recherche, je pense donc que ce n'est pas possible. Si tu trouves quelque chose, préviens :wink:
J'ai suivi tout ceci, en me rappelant tout ce que j'avais essayé, mais il semble que vous arriviez à la même conclusion, ce qui est bien dommage. J'espérais...