Notpa
Messages postés125Date d'inscriptiondimanche 13 janvier 2019StatutMembreDernière intervention 8 janvier 2021
-
Modifié le 12 nov. 2019 à 19:54
Notpa
Messages postés125Date d'inscriptiondimanche 13 janvier 2019StatutMembreDerniè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.
Notpa
Messages postés125Date d'inscriptiondimanche 13 janvier 2019StatutMembreDernière intervention 8 janvier 20211 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.
Notpa
Messages postés125Date d'inscriptiondimanche 13 janvier 2019StatutMembreDernière intervention 8 janvier 20211 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.