Récupérer l'élément selectionné dans un controle d'un autre thread
invivus
Messages postés5Date d'inscriptionvendredi 13 février 2009StatutMembreDernière intervention 7 janvier 2014
-
15 mai 2008 à 05:26
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
15 mai 2008 à 15:16
Bonjour, bonjour !
Tout est dans le titre si je puis dire ^^ pour être plus précis j'ai un thread qui attend des infos d'un serveur et qui lui en envoi par moment et j'aimerai lui envoyé l'element selectionné dans un combobox qui lui est dans le thread de la form1...(celle lancé au démarrage)
je pensais pouvoir faire comme pour modifier des parametres avec un delegate :
Private
Delegate
Sub SyncDelegate()
Private
Sub change_desttrue_thread()
Dim del
As SyncDelegate =
New SyncDelegate(
AddressOf change_desttrue_Sync)ComboBox2.BeginInvoke(del)
End
Sub
Private
Sub change_desttrue_Sync()ComboBox2.Enabled =
True
End
Sub
Etdans mon thread secondaire je fais à ma méthode change_desttrue_thread()
Ce morceau de code marche parfaitement, par contre je n'arrive pas l'adapter pour récupérer un élement selectionné dans ce combobox snif... j'ai essayé la chose suivante :
Private
Delegate
Function SyncDelega()
As
String
Private
Function get_dest_thread() AsString
Dimdel
As SyncDelega =
NewSyncDelega(
AddressOfget_dest_Sync)
ReturnComboBox2.BeginInvoke(del)
End
Function
Private
Functionget_dest_Sync()
As
String
ReturnComboBox2.SelectedItem.ToString()
End
Function
et je fais appel a ma fonctionget_dest_thread()
mais j'ai une exceptionde type invalidCastException. Si vous pouviez m'aidez ou me donner une façon plus simple je vous en serai reconnaissant ^^ Merci d'avance
A voir également:
Récupérer l'élément selectionné dans un controle d'un autre thread
invivus
Messages postés5Date d'inscriptionvendredi 13 février 2009StatutMembreDernière intervention 7 janvier 2014 15 mai 2008 à 15:09
Aucune idée précisement ^^ sur le PDA il m'affiche le contenu de l'erreur car je met mon appel a la fonction get_dest_thread() dans un try^^
J'enregistre le résultat de cet apel dans un string et ça plante^^
Pour le moment j'ai résolu le probleme en mettant une variable global qui contient l'element selectionné par le combobox mais c'est vraiment pas propre :(
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 15 mai 2008 à 15:16
Bonjour
Dans l'exception (du Catch), tu affiche de .ToString et normalement, tu drvrait tout voir.
Sinon, tu ne peux pas lancer le débuggeur sur ton PC et lancer le test sur le PPC ? Il mpe semble que c'est possible cela.
Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site