[VB.Net][Threading] Problème de parent ...
Bonjour,
Avec la manip que je veux faire j'obtiens le message d'erreur suivant :
Les contrôles créés sur un thread ne peuvent pas être parents d'un contrôle d'un autre thread.
Ce que je veux faire :
J'ai mon IHM principale à partir de laquelle l'utilisateur lance différents traitements ou effectue ses opérations. Il se trouve que parfois dans la couche métier, certains opérations prennent du temps car il faut aller charger du paramétrage mais uniquement la première fois.
Ce que je voudrais c'est que le metier par un système d'évènement puisse communiquer "Attention, je charge du paramétrage donc sois patient".
Ce que j'ai fait :
J'ai crée une IHM qui s'abonne à des events Shared d'une classe technique de très bas niveaux qui est elle même référence dans le metier. Un event lance la tache, un autre défini l'avancement et le dernier arrête.
Ca marche nickel, mon IHM capture les events créent des controls dans l'IHM pour obtenir quelque chose proche de FireFox pour les téléchargements ....
Le seul problème c'est que l'IHM se raffraîchit pas car elle bloqué par le traitement en cours. Comme je ne peux pas Threader ce genre de chargement, je me suis dit :" tiens, c'est la fenêtre que je vais mettre dans un Thread".
Et c'est que je prends le pain décrit plus ...
Le code du lancement du Thread est le suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
Dim _obThread As New System.Threading.Thread(AddressOf lancerFenetre)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
_obThread.Start()
End Sub
Private Sub sPri_LancerFenetre()
Me._frm = New FSuivi()
Me._frm.Show
End Sub |
Ps : Joyeux Noël !