Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2007
    Messages
    632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2007
    Messages : 632
    Points : 373
    Points
    373

    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.

  2. #2
    Expert Confirmé
    Avatar de GuruuMeditation
    Homme Profil pro Olivier Matis
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 618
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Matis
    Âge : 39
    Localisation : Belgique

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

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 618
    Points : 3 397
    Points
    3 397

    Par défaut

    Si tu les appelle dans une Task, et que tu attend la fin de celle-ci?

    Ou alors dans un backgroundworker?
    Microsoft MVP : Windows Platform

    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)

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2007
    Messages
    632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2007
    Messages : 632
    Points : 373
    Points
    373

    Par défaut

    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.
    ----

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •