#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:
1 2
| HRESULT Cars([out, retval] Cars** prop);
HRESULT CarsForUser([in] Well well, [out, retval] Cars** prop); |
le tlh genere:
Code:
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:
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!