Précédent   Forum du club des développeurs et IT Pro > Dotnet > Général Dotnet > Framework .NET
Framework .NET Vos questions relatives à l'utilisation des différents Framework .NET
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 02/10/2012, 10h09   #1
NeoKript
Membre éclairé
 
Homme
Étudiant
Inscription : novembre 2007
Messages : 626
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France, Loire (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2007
Messages : 626
Points : 374
Points : 374
Par défaut Rendre un code synchrone / interface COM

Bonjour,

j'utilise une dll qui sert de wrapper d'interface COM. Il y a des méthodes de lecture / écriture asynchrone (event lancé lorsque les opérations sont terminées) et j'ai besoin de rendre ces méthodes synchrones.

Je voulais utilisé un ManualResetEvent mais les events sont appelés dans le thread courant (du coup il faut sortir de la méthode en cours pour que l'event soit appelé...) Comment faire pour dispatcher l'event vers un thread différent ?

Merci d'avance.
NeoKript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 12h34   #2
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 353
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

Informations professionnelles :
Activité : .Net Architect
Secteur : Conseil

Informations forums :
Inscription : octobre 2010
Messages : 1 353
Points : 2 870
Points : 2 870
Envoyer un message via MSN à GuruuMeditation
Si tu les appelle dans une Task, et que tu attend la fin de celle-ci?

Ou alors dans un backgroundworker?
__________________
Microsoft MVP : Visual C#

MCPD - Windows Phone Developer
MCPD - Windows Developer 4

http://www.guruumeditation.net

“If debugging is the process of removing bugs, then programming must be the process of putting them in.”
(Edsger W. Dijkstra)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 13h42   #3
NeoKript
Membre éclairé
 
Homme
Étudiant
Inscription : novembre 2007
Messages : 626
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France, Loire (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2007
Messages : 626
Points : 374
Points : 374
Salut,

Backgrouner : ça ne fonctionne pas.
Task : pas essayé.

Je viens de trouver ce site : http://geekswithblogs.net/rgray/arch...nous-call.aspx

Il dit entre autre :

----
The asynchronous (event) call has now been turned into synchronous.

The biggest problem is the showstopper though. COM doesn’t play well using this model, thanks to it’s STA threading (I believe) and the event handler never gets called.

Overall a great learning experience, but I still can’t call the COM wrapper object synchronously and now, admitting defeat, I am rolling my own class to calculate the StreetId.
----
NeoKript est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h25.


 
 
 
 
Partenaires

Hébergement Web