Erreur Inter-Threads

Signaler
Messages postés
60
Date d'inscription
dimanche 10 novembre 2002
Statut
Membre
Dernière intervention
30 juin 2011
-
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
-
Salut les pros.

Voici le message d'erreur qui m'apparait au moment d'un traitement.

'Logs (Admin)' est un formulaire qui se nomme réellement "Frm_Logs". Le traitement est que si le formulaire est ouvert et, qu'il y a un nouveau log, j'actualise l'affichage de cette manière :

((Frm_Logs)FormFille).Affiche_Logs();

FormFille est le nom du formulaire ouvert ("Logs (Admin)") et, affiche_logs est la méthode pour afficher les données.


"Opération inter-thread non valide : Le contrôle "Logs (Admin)' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créer"

Qui peux-m'aider??

D'avance, un GRAND merci

Nicolas

5 réponses

Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
16
Une recherche préalable aurait été bien, le sujet a été traité de nombreuses fois. Tu appelles ta méthode depuis un autre thread que celui dans lequel la form a été créée. Il existe sur le site un tuto concernant les opérations cross thread, tu devrais le trouver facilement
Messages postés
60
Date d'inscription
dimanche 10 novembre 2002
Statut
Membre
Dernière intervention
30 juin 2011

Merci de la réponse

Je t'assure, des recherches, j'en ai faite.

Ca parle de la méthode "Invoke".

J'ai pourtant bien essayé et, pour du multi-thread dans le meme formulaire, c'est ok, par contre entre-formulaires, je trouve pas la soluce.



Nicolas
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
16
Entre formulaires????????? Tu n'as aucunes raisons d'avoir deux formulaires sur deux threads différents. Qui plus est ça ne change rien.
Et question : est ce que le multi threading est bien nécessaire?
Messages postés
60
Date d'inscription
dimanche 10 novembre 2002
Statut
Membre
Dernière intervention
30 juin 2011

J'utilise le multi-threading pour différentes choses (Socket, processus en arrière plan,....)

Depuis mon formulaire principale, j'ouvre un autre formulaire avec un datagridview qui affiche des données. Depuis le principal, je veux, à un certain moment, actualiser les données de ce datagrid qui se trouve dans le second formulaire et, c'est le message que j'obtiend.

Nicolas
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
16
Donc soit tu n'as pas créé tes threads depuis le formulaire principal (dans ce cas pourquoi? Décision étrange et casse gueule), soit tes deux formulaires ne sont pas dans le même thread (idem), soit la méthode du premier formulaire est appelée depuis un autre thread.