BeginInvoke Erreur : Nombre de paramètres incorrects.

Résolu
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010 - 1 mars 2010 à 11:45
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010 - 1 mars 2010 à 13:05
Bonjour à tous,
je suis actuellement sur un projet en WPF , VS2008 en C#.

Je veux ajouter dans un Treeview des infos.
Le problème est que la ligne:
this.Dispatcher.BeginInvoke(new AffichageTV_ScanInstallation(Affichage_ScanInstallation), Peripherique);
me génère l'erreur : Nombre de Parametre incorrects. J'ai chercher longuement je me suis orienté sur le fait que je passe un tableau en parametre mais je ne trouve pas.

Pourriez vous m'aider?

public class ClassPeripherique
{
public string Name;
public Byte Dim_Level;
public Byte On_Level;
public Byte Failure_Level;
public Byte Min_Level;
public Byte Max_Level;
}


public delegate void AffichageTV_ScanInstallation(ClassPeripherique[] Peripherique);



public void Affichage_ScanInstallation(ClassPeripherique[] Peripherique)
{
if (this.Dispatcher.CheckAccess())
{
TreeViewItem Node = new TreeViewItem();
Node.Header = "TOTO";
////Affichage dans le Treeview//////
TV_Scan_Installation.Items.Add(Node);
}
else
{
this.Dispatcher.BeginInvoke(new AffichageTV_ScanInstallation(Affichage_ScanInstallation), Peripherique);
}
}



MERCI

Cyril

2 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
1 mars 2010 à 12:38
Ton paramètre est incorrect
Je dirais qu'a l'execution, l'appli tente de passer chaque élément de ton tableau "périphérique" en tant que paramètre distinct.
Il faudrait donc que tu fasse
this.Dispatcher.BeginInvoke(new AffichageTV_ScanInstallation(Affichage_ScanInstallation), new object[] {Peripherique});
2
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010
1 mars 2010 à 13:05
Ca fonctionne. Je te remercie beaucoup.

Cyril
0