Progress barr et problème asynchrone
Bonjour,
J'explique mon contexte dans un projet WPF:
- Mon application exécute des commandes lors de l'installation
- J'ai une Progress barre qui se nomme Pb_Installation qui fonctionne durant l'installation.
- La valeur de la progress barre doit s'incrémenter à chaque exécution d'une commande
ex : Total des commandes à exécuter 12 donc Pb_Installation à son maximum bloquer à 12, à chaque commande valide la valeur de la Progress barre augmente +1.
J'ai d'abord utiliser un objet de type BackgroundWorker avec les Procédure DoWork et ProgressedChanged.
-Mon premier soucis à été que à l'intérieur de la procédure DoWork une exception se lever pour me dire que la PogressBarre était déjà utiliser par un thread.
-Le second était qu'en passant par l'évènement ProgressedChanged ma progress barre ne s'incrémenter alors jamais.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| string Result = ExecuterCommande(uneCommande, unRole.ListeParametres);
NbCommandeExe++;
if (Result.Length >= 8)
{
if (Result.Substring(0, 8) == "-Erreur-")
{
myParagraph.Inlines.Add(Result.Substring(8, Result.Length - 8) + "\r\n");
ErreurCmd = true;
}
else
{
myParagraph.Inlines.Add(Result + "\r\n");
//Ici se trouve le cas où la commande est valide et que la progress barre doit s'incrémenter
}
} |
Je viens tout juste de réaliser mes premiers test dans le milieu synchrone asynchrone donc je ne connais pas grand chose, si quelqu'un aurai quelque idée à me proposer, merci