IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Fonctionnement de la fonction DotNetDélégué ?


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 71
    Points : 35
    Points
    35
    Par défaut Fonctionnement de la fonction DotNetDélégué ?
    Bonjour,

    J'utilise une DLL .NET pour gérer des événements téléphonique. Le code ci-dessous établit la connexion avec le logiciel qui gère les appels et définit que la procédure "Alertee" sera appelée si un appel entrant est détecté.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    cltest:Connect("127.0.0.1",5110,"102")
    cltest:RegisterAgent("102")
     
    // On associe le handler à l’événement
    cltest:add_CstaAlerting_Event(DotNetDélégué("Alertee", "Events.CstaAlerting"))
    Dans la procédure "Alertee" que j'appel si jamais je reçoit un appel téléphonique, je lance le code "OuvreFille(Fen_test)"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PROCEDURE Alertee(agent, refcom, appelant, appele)
    OuvreFille(FEN_test)
    Fen_test ne contient aucun code! Et à l'ouverture de cette fenêtre windows m'affiche "Cette fenêtre ne répond pas". Si je fais "OUvre" ça fonctionne mais la fenêtre n'est alors pas libre et prend la main. J'ai vraiment besoin de OUvrefille pour faire une fenêtre en surimpression. En revanche si je lance la procédure "Alertee" directement avec le code "Alertee()" alors l'ouvrefille fonctionne bien. C'est la gestion de l'événement qui provoque ce bug on dirait, mais comment le résoudre? Merci de votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 812
    Points
    812
    Par défaut
    Bonjour heazen,
    Citation Envoyé par heazen Voir le message
    Fen_test ne contient aucun code!
    Et à l'ouverture de cette fenêtre windows m'affiche "Cette fenêtre ne répond pas".Si je fais "OUvre" ça fonctionne mais la fenêtre n'est alors pas libre et prend la main. J'ai vraiment besoin de OUvrefille pour faire une fenêtre en surimpression. En revanche si je lance la procédure "Alertee" directement avec le code "Alertee()" alors l'ouvrefille fonctionne bien. C'est la gestion de l'événement qui provoque ce bug on dirait, mais comment le résoudre? Merci de votre aide.
    As-tu essayé une exécution asynchrone ?

    Par exemple, au lieu d'exécuter directement OuvreFille, à la place tu exécutes une procédure automatique (exécution unique, différée d'une seconde) ce qui permet de rendre la main.

    Et puis dans la procédure automatique, tu exécutes OuvreFille.

    L'avantage de la procédure automatique c'est que tu peux lui passer des paramètres (mais tu ne peux pas récupérer de valeur, puisque l'exécution est asynchrone).

    Qu'en dis-tu ?


  3. #3
    Membre expérimenté
    Inscrit en
    Août 2010
    Messages
    726
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 726
    Points : 1 645
    Points
    1 645
    Par défaut
    Par curiosité, pouvez-vous vérifier si c'est pas un thread secondaire qui appele "Alertee" ?
    Ajoutez Trace(API("kernel32", "GetCurrentThreadId")) aux 2 endroits, et vérifiez que ça affiche le même nombre.

    Si ce n'est pas le cas, la solution serait peut-être à chercher du côté de PostMessage/Evénement, ou ExécuteThreadPrincipal.

Discussions similaires

  1. [PHP 5.0] Fonctionnement de la fonction "eval"
    Par falatop dans le forum Langage
    Réponses: 2
    Dernier message: 20/08/2009, 16h17
  2. [XL-2003] Fonctionnement d'une fonction de recherche
    Par IMPERIAL3187 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/04/2009, 18h42
  3. Fonctionnement de la fonction eval
    Par Didier100 dans le forum Langage
    Réponses: 2
    Dernier message: 17/03/2009, 08h32
  4. fonctionnement de la fonction codelock
    Par moncef357 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/08/2008, 13h46
  5. [PHP-JS] fonctionnement de la fonction 'header'
    Par enguerran dans le forum Langage
    Réponses: 8
    Dernier message: 02/06/2006, 08h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo