Problème de synchroniastion

hamzamalek Messages postés 15 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 21 juillet 2011 - 21 juil. 2011 à 11:41
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 21 juil. 2011 à 20:57
Bonjour,

je suis entrain de réaliser un outil qui traite des fichiers Excel,l'exécution des mes algorithmes se fait dans un Thread alors j'ai eu cette Exception.

Impossible d'effectuer un cast d'un objet COM de type 'Microsoft.Office.Interop.Excel.WorkbookClass' en type d'interface 'Microsoft.Office.Interop.Excel._Workbook'. Cette opération a échoué, car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{000208DA-0000-0000-C000-000000000046}' a échoué en raison de l'erreur suivante : L'application a appelé une interface qui était maintenue en ordre pour une thread différente. (Exception de HRESULT : 0x8001010E (RPC_E_WRONG_THREAD)).

Merci d'avance

1 réponse

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
21 juil. 2011 à 20:57
Bonjour,

Voir si tu as une propriété InvokeRequired sur ta classe ou au pire, si ton objet est créé à partir du thread principal, sur un des composants d'une form.

Ensuite, tu peux faire :
MonControle.Invoke(New MonDelegue(AddressOf MaFonction))

Pour appeler MaFonction dans le thread principal.

Mon site
0
Rejoignez-nous