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

C++ Discussion :

#import Directive collision problem , error C2061


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 9
    Par d�faut #import Directive collision problem , error C2061
    Bonjour,
    Je crois que j'ai un probleme de collision. Je m'explique.
    J'ai deux inetrfaces dans mon idl : Cars et Garage.
    Dans Garage j'ai deux proprietes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    HRESULT Cars([out, retval] Cars** prop);
    HRESULT CarsForUser([in] Well well, [out, retval] Cars** prop);
    le tlh genere:

    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
    21
    22
    23
    24
    25
    26
    Garage : IDispatch
    {
    //
    // Property data
    //
    __declspec(property(get=GetCars))
    CarsPtr Cars;
    __declspec(property(get=GetCarsForUser))
    CarsPtr CarsForUser[];
    
    //
    // Wrapper methods for error-handling
    //
    CarsPtr GetCars ( );
    CarsPtr GetTrendsForUser (
    struct Well * Well );
    
    //
    // Raw methods provided by interface
    //
    
    virtual HRESULT __stdcall get_Cars (
    /*[out,retval]*/ struct Cars * * prop ) = 0;
    virtual HRESULT __stdcall get_CarsForUser (
    /*[in]*/ struct Well * Well,
    /*[out,retval]*/ struct Cars * * prop ) = 0;
    mon implementation dans le .h :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    STDMETHOD(get_Cars)(Cars* * prop);
    STDMETHOD(get_CarsForSource)(Well * well,Cars * * prop); // error here
    j'obtiens: error C2061: syntax error : identifier 'Cars'

    Le probleme est que j'ai une double definition de "Cars":
    une dans mon inteface (color� en bleu)
    et une dans le tlh g�n�r�: en rouge

    J 'ai essay� plusieurs options dans le stdafx.h
    rename("Cars","CarsX")
    mais ca donne rien

    J'ai renomm� mon idl Cars en CarsX et la ca marche...mais bien entendu je veux utiliser le nom
    Cars et nonCarsX

    Ma question :
    Y a t il une solution a ce probleme? en fait j'aimerais trouver
    soit :
    1- le moyen de renommer Cars du tlh
    2- soit de que la compilation ne genere pas les Property data mais seulement les Wrapper methods for error-handling

    une id�e? merci!

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    D�sol�, l� je ne vois pas trop.
    � ta place, j'aurais appel� les interfaces ICars et IGarage, rendant tout conflit impossible...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 9
    Par d�faut zut...
    aie...
    le probleme est que le nom de ces interfaces sont ensuite utilises en VB par exemple.
    Il faut que l'utilistateur puisse voir le nom Cars et non ICars...
    Il doit y avoir une solution, danx excel par exemple il y a pleins de fonctions qui fonctionnent de la meme maniere, exemple : pour les sheets ils y a d'autres interfaces qui ont pour propriete sheets et apparament ca ne pose pas de probleme.
    J'ai essaye d'inclure le tlh dans mon projet et ensuite enlever les methodes generes qui posent probleme...mais pour l'instant ca ne marche pas.

    je suis completement bloque la...

  4. #4
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    J'ai un soup�on soudain: O� est d�fini Well ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 9
    Par d�faut
    dans l'idl
    exactement comme Cars et garage,
    j'en ai pas parle car cet objet n'est pas vraiment utile a mon probleme

    en fait tout peut compiler avec dans le stdafx.h:
    #import "../../Include/AutoApplication.tlb" raw_interfaces_only, raw_native_types, no_namespace, named_guids, auto_search

    mais pas avec:
    #import "../../Include/AutoApplication.tlb" no_implementation, no_namespace, named_guids

    et j'aimerais utiliser le second car celui ci genere les Property data
    que j'aimerais utiliser dans le code

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Fais un #import de Word (ou un truc du genre) et regarde comment c'est g�r�...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. R�ponses: 6
    Dernier message: 25/05/2007, 09h46
  2. Importer directement des instructions MySQL en fichier texte dans MySQL
    Par lightstring4 dans le forum SQL Proc�dural
    R�ponses: 6
    Dernier message: 09/05/2007, 16h39
  3. Import de DLL: fatal error C1083
    Par Philoubilou dans le forum C++
    R�ponses: 1
    Dernier message: 24/04/2007, 16h22
  4. Probleme error 1064
    Par bobludovic dans le forum Requ�tes
    R�ponses: 5
    Dernier message: 22/01/2007, 08h50
  5. R�ponses: 3
    Dernier message: 26/10/2006, 18h21

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