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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Failed to create COM


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Failed to create COM
    Bonjour à tous,

    Pour les besoin d'une application, je dois utiliser une librairie dynamique.

    En développement, sur un Windows vista avec WAMP 2, j'instancie mon objet comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $myBOB = new COM("BOBDev.BOBDATA") or die("Can't start BOB !");
    J'ai au préalable enregistré la dll en faisant :

    Jusque là, j'arrive à instancier et utiliser mon objet COM.

    Mais lorsque j'ai mis en place la version en production sur XP (toujours avec WAMP 2), j'ai eu droit à cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `BOBDev.BOBDATA': Le module spécifié est introuvable. ' in C:\wamp\www\Tests\test.php:26 Stack trace: #0 C:\wamp\www\Tests\test.php(26): com->com('BOBDev.BOBDATA') #1 {main} thrown in C:\wamp\www\Tests\test.php on line 26
    J'ai pourtant bien enregistré bobdev.dll (j'obtiens le message de succès).

    Je ne suis que très peu familier avec COM. J'ai lu dans le manuel de php que la construction d'un objet COM attend, je cite :

    Peut être un ProgID, un Class ID ou un Moniker qui nomment un composant à charger. Un ProgID est typiquement une application ou le nom d'une DLL, suivi d'une période, suivi par le nom de l'objet. e.g : Word.Application. Un Class ID est un UUID qui identifie de manière unique une classe donnée. Un Moniker est une manière spéciale de nommage, similaire dans le concept au schéma d'URL, qui identifie une ressource et spécifie comment elle doit être chargée. Par exemple, vous pouvez charger Word et prendre un objet représentant un document Word en spécifiant le chemin complet du document Word comme nom de module, ou bien, vous pouvez utiliser LDAP: comme un Moniker pour utiliser l'interface ADSI pour LDAP.
    Pour un ProgID, nomdll.nomObjet
    Le nom de la dll, je connais, mais comment connaitre le nom de l'objet? (le BOBDATA vient d'un code que j'avais récupéré sur la machine, écrit par un ancien développeur qui lui même avait récupérer ce code quelque part...)
    Ai-je oublié quelque chose?
    Y-a-t'il un moyen de résoudre ce problème?

    Merci de m'avoir lu,

    Romain

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    t'a cherché les chaines lisibles de la dll ?
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Citation Envoyé par gene69 Voir le message
    t'a cherché les chaines lisibles de la dll ?
    Merci pour ta réponse, mais qu'entends-tu par là?



    En continuant d'effectuer des tests, j'ai plus l'impression que le problème ne se situe pas au niveau du code PHP ("BOBDev.BOBDATA" semble on ne peut plus correct), mais bien à celui de l'enregistrement de la DLL.

    Je suis loin d'être un expert dans ce petit monde que je me contentais d'utiliser "bêtement" jusqu'à présent. Apparemment, je dois oublier ou ne pas avoir connaissance de certaines notions relatives aux DLL, à leur enregistrement et utilisation.

    Si quelqu'un avait le temps de présenter les points essentiels ou de me rediriger vers un tuto, ce serait bien sympa !


    Romain

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/11/2012, 21h15
  2. [COM] Failed to create COM object word.application: Accès refusé
    Par groovyroe dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 10/05/2009, 17h46
  3. Réponses: 1
    Dernier message: 17/05/2008, 20h47
  4. Erreur d'installation " Failed to created process: 2! &
    Par hugobob dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 19/09/2005, 12h10
  5. Réponses: 4
    Dernier message: 20/04/2005, 13h30

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