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

Interfaçage autre langage Python Discussion :

[comtypes] com_error:((-2147221164),'Classe non enregistré')


Sujet :

Interfaçage autre langage Python

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [comtypes] com_error:((-2147221164),'Classe non enregistré')
    Bonjour,

    j'ai utilisé l'utilitaire makepy sur une dll com et cela a généré un fichier <class ID>.py correctement. Ensuite j'ai renommé le fichier en test.py et dans mon code j'ai mis:

    import test

    Api = test.ICDTObject()


    ICDTObject étant une interface de mon objet COM

    en faisant cela j'obtiens l'erreur:

    com_error(-2147221164),'Classe non enregistré')

    l'erreur survient dans la classe DispatchBaseClass du module __init__.py à l'appel de la fonction:
    oobj = pythoncom.new(self.CLSID)

    j'ai egalement essayé d'une autre maniere mais j'obtiens la meme erreur:

    import win32com.client

    test = win32com.client.Dispatch('{48404282-C908-4DA2-9D24-3F909F5CB9BD}')


    je ne connais pas bien du tout python, et je dois remplacer VB par Python. Rem: les appels à cette dll com à partir de VB fonctionne bien.

    Merci pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Pour utiliser des dll COM, j'utilise la bilbiothèque comtypes ( http://sourceforge.net/projects/comtypes/ ) qui est beaucoup plus adaptée que pywin32.
    Pour l'utiliser, tu peux regarder ce lien: http://starship.python.net/crew/theller/comtypes/

    Par contre, la première chose à faire est que ta dll soit enregistrée dans ton windows (avec l'utilitaire regsvr32.exe)

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci,

    ça marche trés bien avec comtypes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur Classe non enregistrée
    Par nassoft dans le forum Delphi
    Réponses: 13
    Dernier message: 26/05/2007, 12h56
  2. BDS2006, "Classe non enregistrée"
    Par maxim_um dans le forum C++Builder
    Réponses: 7
    Dernier message: 11/05/2007, 19h51
  3. EoleSysError classe non enregistrée
    Par Daniel Magron dans le forum Delphi
    Réponses: 10
    Dernier message: 19/11/2006, 11h36
  4. classe non enregistrée
    Par kilian dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/11/2006, 12h35
  5. [ToutlookApplication] Classe non enregistrée
    Par nico33410 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/08/2005, 10h36

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