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

Interfaçage autre langage Python Discussion :

utilisation d'une dll écrite en C


Sujet :

Interfaçage autre langage Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut utilisation d'une dll écrite en C
    Bonjour,

    j'utilise aujourd'hui une dll écrite en C. Cette dll ne possède que 3 méthode.

    afin de l'utiliser conformément au langage python, j'utilise ctype et notamment cdll

    Pour l'une d'entre elle, le dernier argument que je doit donner est une fonction python que j'ai développé afin d'être appelé après l'exécution de la méthode dll.

    voici mes lignes de codes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    global dll
     
    dll = cdll.devlink
     
    print dll
     
    def MonEvent(pbxh = '', comms_evt = '', parm1= ''):
        """Ici mes evenement"""
     
        print comms_event
     
     
    def DemaraConnect():
        dll.DLOpen(0, '192.168.1.211', 'password', '', '', MonEvent) # ma fameuse méthode, avec comme dernier argument, le nom de ma fonction qui doit être rappelé en callback
     
     
    def EvenementAvaya():
        dll.DLRegisterType2CallDeltas(0,MonEvent())
        MainWindow.after(100, EvenementAvaya)
    Or, lorsque j'exécute le code, j'ai ce message d'erreur :

    dll.DLOpen(0, '192.168.1.211', 'password', '', '', MonEvent)
    ArgumentError: argument 6: <type 'exceptions.TypeError'>: Don't know how to convert parameter 6

    J'ai beau écumer les links sur ctypes, je n'arrive pas a trouver la solution.

    Pourriez vous m'aider svp.

    Merci par avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    septembre 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : septembre 2008
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Hello
    apparemment il ne parvient pas a identifier le type de donnée dans le dernier paramètre (6) est tu sures que ta dll renvoie le bon type a chaque foit genre le gag de la string qui deviens un int ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    normalement on doit passer des pointeur. Mais python convertie et envoi normalement ce qu'il faut à la dll (la doc de ctypes dit que les arguments sont convertie automatique).

    Mais pour ma dll, je ne sais pas comment lui dire que c'est une fonction python .... Dans la doc de la dll, il dise qu'il faut donner l'adresse de la fonction ..... Je suppose que c'est son pointeur .... mais je sais pas comment lui donner cette adresse ....


  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2008
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    a mon avis tu dois aller voir du cote de http://www.python.org/doc/2.5.2/lib/...functions.html

Discussions similaires

  1. Utiliser une dll écrite en C++/CLI
    Par scolyo dans le forum C#
    Réponses: 3
    Dernier message: 09/10/2008, 12h09
  2. [VC++] Utilisation d'une DLL écrite en C++ avec mingw.
    Par swirtel dans le forum Visual C++
    Réponses: 1
    Dernier message: 20/06/2007, 11h42
  3. Réponses: 1
    Dernier message: 10/05/2006, 20h45
  4. Réponses: 6
    Dernier message: 21/06/2005, 22h45
  5. Utilisation d'une dll écrite en delphi 5 dans VB6
    Par Jean-Louis dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2002, 10h19

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