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

VBScript Discussion :

Unable to use COM with vbscript


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 14
    Points : 18
    Points
    18
    Par défaut Unable to use COM with vbscript
    Bonjour à tous,

    Je dois mettre en place un script VBScript qui utilise l'api d'un produit propriétaire. L'install de l'API créé une dll et la doc indique qu'il faut s'y connecter en utilisant le composant COM Gvapi.GlobalVision8API

    Je tente de créer l'objet en faisant:

    Set gvapi8 = Wscript.CreateObject("Gvapi.GlobalVision8API")

    J'obtiens le résultat suivant quand

    regsvr32 api.dll (sucess)
    could not create object named ....

    regsvr32 /u api.dll (success)
    could not locate automation class named...

    l'OS est WS 2008 et la version de WSH 5.7. Mon script se trouve dans le même répertoire que la DLL?

    Toute piste serait la bienvenue!

    Merci.

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 300
    Points : 3 556
    Points
    3 556
    Par défaut
    bonjour,
    le progID ne serait pas plutôt "Gvapi.GlobalVisionAPI" au lieu de "Gvapi.GlobalVision8API" ? cf ici
    pour examiner les interfaces com installées, utilise un explorateur comme ComView
    et vérifie si l'interface IDispatch est supportée car c'est indispensable pour que le composant puisse être exploité en vbs

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 14
    Points : 18
    Points
    18
    Par défaut re
    Je te confirme que le PorgID est bien GlobalVision8API car il s'agit d'une nouvelle version de l'API.
    D'ailleurs le résultat du ComView est le suivant
    CLSID Text Type Type Value ProgID TypeLib
    {CE92C3B9-9A93-40E1-85AB-6A49170AEF7F} GlobalVision8API Class InProcServer32 D:\Trayport\Api\Gv8Api.dll Gvapi.GlobalVision8API.1 {0A67E301-3ECB-47BE-BBA9-DC67FF219358}

    Comment vérifier que l'interface IDispath est bien supportée?
    Concernant IDispatch, voici ce que j'ai trouvé

    CLSID Text Type Type Value ProgID TypeLib
    {9D309F77-4655-372E-84B0-B0FB4030F3B8} System.Runtime.InteropServices.SetWin32ContextInIDispatchAttribute InProcServer32 mscoree.dll System.Runtime.InteropServices.SetWin32ContextInIDispatchAttribute

    {E947A0B0-D47F-3AA3-9B77-4624E0F3ACA4} System.Runtime.CompilerServices.IDispatchConstantAttribute InProcServer32 mscoree.dll System.Runtime.CompilerServices.IDispatchConstantAttribute


    Merci d'avance.
    Cdt,

  4. #4
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 300
    Points : 3 556
    Points
    3 556
    Par défaut
    Comment vérifier que l'interface IDispath est bien supportée?
    en utilisant les fonctions de ComView
    1. placer le curseur sur le composant souhaité
    2. F7 pour créer une instance du composant
    l'objet ainsi instancié va afficher sa liste d'interfaces (avec éventuellement dans la liste "outgoing interfaces" les interfaces idoines si le composant gère les évènements)
    3. vérifier dans la liste si l'interface IDispatch y figure
    cette interface est une condition nécessaire pour que vbs puisse utiliser ce composant
    4. pour les curieux cliquer sur le bouton "properties" pour y retrouver les propriétés et les méthodes de l'objet

Discussions similaires

  1. Interception d'événements COM par vbscript
    Par fabrice2 dans le forum Windows
    Réponses: 1
    Dernier message: 27/02/2007, 17h24

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