[VB2008] Threads et ListView
Bonjour,
Voici le contexte:
J'ai un Thread principal qui est ma Form dans laquel est créée une ListView.
En cliquant sur un bouton, j'exécute un Thread (pas un BackGroundWorker je précise) qui doit lire certaines données de la ListView
Exemple :
Code:
1 2 3
| For Each ItemChecked In ListView.CheckedItems
FileName = ItemChecked.ToString
Next |
Mais c'est pas franchement Thread Safe. J'ai donc réalisé les Function suivantes :
Code:
1 2 3 4 5
| Private Function GetListViewChecked(ByRef MyControl As ListView)
Return MyControl.CheckedItems
End Function
Delegate Function GetSafeListViewChecked(ByRef MyControl As ListView) |
Et j'ai modifié mon code en conséquence:
Code:
1 2 3
| For Each ItemChecked In Invoke(New GetSafeListViewChecked(AddressOf GetListViewChecked), ListView)
FileName = ItemChecked.ToString
Next |
Mais j'ai toujours l'erreur d'invocation multi-thread sur la lecture de ma ListView.
Quelqu'un aurait-il une idée? merci d'avance.