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

Dotnet Discussion :

VBScript - Type incompatible avec COM créé en Delphi


Sujet :

Dotnet

  1. #1
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 460
    Points : 24 874
    Points
    24 874
    Par défaut VBScript - Type incompatible avec COM créé en Delphi
    J'utilise le VBScript pour faire quelques tests, possible que je lui en demande trop, mais il semble être assez souple jusqu'a présent ..

    j'ai développé un objet COM, j'ai déjà parlé de cet objet ICI ou LA, j'ai pu résoudre quelque problème lié à la convention d'appel stdcall et safecall ...

    Voici mon VBScript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Set objShai = CreateObject("Shai_COM.ShaiTrucImpl")
    Set ObjParam = CreateObject("Shai_COM.ParamImpl")
     
    ObjParam.Numero = "1"
     
    dim objRes ' ne change rien si je je mets ou pas ...
    call ObjNeoLAD.SearchTrucEx(ObjParam, objRes)
     
    WScript.Echo objRes.Count
    le prototype de la fonction généré par l'editeur de TLB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    type
      IShaiTruc = interface(IDispatch)
        procedure SearchTrucEx(const Param: IPatient; out SearchResult: ISearchResult); safecall;
    end;
    dans la TLB, cela donne
    IPatient * Param [in]
    ISearchResult ** SearchResult[out]

    Je sais que Param est bien reçu, mon problème doit venir que je ne sais pas comme déclarer un ISearchResult comme variable de retour de ma procédure

    PS : j'utilise NotePad pour écrire mes Scripts, j'ai vu qu'il y avait un éditeur disponible sur la msdn ... je vais le télécharger ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 460
    Points : 24 874
    Points
    24 874
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    type
      IShaiTruc = interface(IDispatch)
        function SearchTrucEx(const Param: IPatient): ISearchResult; safecall;
    end;
    Bon, j'ai résolu mes problèmes, suffisait de transformer les procédures en fonction tout en conservant le safeCall (une histoire du ISearchResult* et ISearchResult** ...)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. [XL-2007] Type incompatible avec un tableau en vba
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/07/2009, 10h46
  2. Réponses: 10
    Dernier message: 19/07/2007, 11h36
  3. Problème de "Type incompatible" avec tableau et Vector
    Par pat-trix dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 07/07/2006, 23h42
  4. Réponses: 9
    Dernier message: 06/07/2005, 14h20
  5. ODBC Access => Type Incompatible avec un champ DATE ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 6
    Dernier message: 23/04/2005, 02h02

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