Load form / form.show ne garde pas la form active

Résolu
Notpa Messages postés 125 Date d'inscription dimanche 13 janvier 2019 Statut Membre Dernière intervention 8 janvier 2021 - Modifié le 12 nov. 2019 à 19:54
Notpa Messages postés 125 Date d'inscription dimanche 13 janvier 2019 Statut Membre Dernière intervention 8 janvier 2021 - 12 nov. 2019 à 16:44
Bonjour,

J'écris une appli qui a besoin de sélectionner un fichier en entrée. J'ai donc créé une form appelée kana_path appelée par la form initiale, Form1. La form de sélection de fichier est comme ceci :



La form initiale appelle la form kana_path comme suit :
...
Load frm_path
frm_path.Show
MsgBox "Retour dans Form1"
...


La form kana_path contient le code suivant :

Private Sub bt_ok_Click()
Unload frm_path
End Sub

Private Sub Form_Load()

'MsgBox tb_path("path")
chemin = tb_path("path")
kana_drive.Drive = tb_path("drive")
kana_dir.Path = tb_path("path")
End Sub

Private Sub kana_dir_Change()
kana_list.Path = kana_dir.Path
If tb_path.RecordCount = 0 Then
    tb_path.AddNew
    Else
    tb_path.Edit
End If
tb_path("path") = kana_dir.Path
tb_path.Update
frm_path.Show
ZOrder 0

End Sub

Private Sub kana_drive_Change()
kana_dir.Path = kana_drive.Drive
If tb_path.RecordCount = 0 Then
    tb_path.AddNew
    Else
    tb_path.MoveFirst
    tb_path.Edit
End If
tb_path("drive") = kana_drive.Drive
tb_path.Update
End Sub

Private Sub kana_list_Click()
fichier = kana_list.FileName

End Sub


La Sub exécutée Public Sub Form_Load() retourne de suite à la form initiale. Donc le code continue alors que les autres actions dans kana_path ne sont pas exécutés.

Comment faire pour que la form kana_path reste active et visible tant que l'on n'a pas cliqué sur le bouton bt_ok ?

PS : j'ai d'autres applis dont le load d'une form laisse celle-ci active, mais pas ici.

Merci de votre aide.

Notpa

3 réponses

Notpa Messages postés 125 Date d'inscription dimanche 13 janvier 2019 Statut Membre Dernière intervention 8 janvier 2021 1
12 nov. 2019 à 14:47
Attendez... Je crois que j'ai trouvé. Je vérifie et je reviens.

A+

Notpa
0
Notpa Messages postés 125 Date d'inscription dimanche 13 janvier 2019 Statut Membre Dernière intervention 8 janvier 2021 1
12 nov. 2019 à 15:17
Non, fausse idée. Je pensais qu'il fallait attendre la fin de la procédure primaire avant de charger la proc kana_path. J'ai donc créé un bouton dans la form primaire qui, lorsque l'on clique dessus, il appelle la form kana_path. Mais ça ne marche pas. Cette form s'affiche mais dès la fin de chargement de cette form (Private Sub Form_Load()), la séquence continue dans la form primaire au lieu de rester sur cette form. Donc, plantage du programme puisque les Drive/Pat/ListDir ne sont pas renseignés.

Une idée ?

Notpa
0
Notpa Messages postés 125 Date d'inscription dimanche 13 janvier 2019 Statut Membre Dernière intervention 8 janvier 2021 1
12 nov. 2019 à 16:44
Laissez tomber. Le projet dans lequel il y a le problème est un projet de test. Dans le projet définitif, bien plus complexe, j'ai incorporé la form kana_path et son code. Et dans le projet définitif, ça fonctionne parfaitement ! La form kana_path reste active tant que je ne l'ai pas fermée.

Il y a des fois il ne faut pas trop chercher à comprendre les mystères de l'informatique ! Le principal, est que cela fonctionne dans le projet définitif. Pour le test, oublions-le.

Je passe en Résolu même si la méthode est bizarre.

Cordialement

Notpa
0
Rejoignez-nous