Bonjour,
Je désire faire un WaitHandle.WaitAll() en VB.Net, mais j'obtiens l'erreur indiquée dans le titre :s
J'ai cherché sur l'aide Microsoft et il faut apparemment passer le système de thread par défaut STA en MTA avec le <MTAThreadAttribute()> _.
J'ai donc testé cette solution en mettant le MTAThreadAttribute à la déclaration de la fonction (voir plus bas), mais j'ai à nouveau le même message d'erreur. Est-ce que quelqu'un pourrait m'indiquer la marche à suivre pour mener à bien cette opération svp?
La fonction est dans une simple classe possédant constructeur, attributs et méthodes (mais pas de main), elle est ensuite appelée depuis un main d'une autre classe.
Merci !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <MTAThreadAttribute()> _ Public Function waitAll(ByVal msecondsTimeout As Integer) As Boolean Console.WriteLine("Test") If _workflows.Count > 0 Then Dim handle(_workflows.Count - 1) As WaitHandle Dim index As Integer = 0 For Each wrapper As WorkflowInstanceWrapper In _workflows.Values handle(index) = wrapper.waitHandle index = index + 1 Next Return WaitHandle.WaitAll(handle, msecondsTimeout, False) Else Return True End If End Function
Partager