 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
fmmarzoa Ens

Registrado: 21 Ago 2002Mensajes: 34
|
Publicado: Mie 28 Ago, 2002 10:07 am Asunto: Error 2015 (Ambigüedad) al convertir VCL en ActiveX |
|
|
Hola de nuevo, soy yo otra vez...
Gracias a vuestra ayuda voy avanzando con esto pero sigo topándome con dificultades debido, sin duda alguna, a mi inexperiencia en estos berenjenales .
A ver, tengo una clase VCL con la que deseo crear un ActiveX (gracias R. Porcar ). Habiendo superado los problemas con los ancestros (gracias Leo ), se me plantea una nueva dificultad . Resulta que al compilar el ActiveX que me ha generado el Wizard, aparentemente sin problemas a partir del VCL, me da un huevo de errores similares al que sigue:
[C++ Error] RfidProt.h(92): E2015 Ambiguity between 'puCOM1' and 'Rfidprotxcontrol1_tlb::puCOM1'
Según la ayuda del BCC este error se traduce en que:
Both of the named overloaded functions could be used with the supplied parameters.
This ambiguity is not allowed.
Lo que tendría lógica si estuvieramos hablando de dos funciones, pero al no ser este el caso la ayuda no me ha servido de gran idem...
En RfidProt.h, en esa línea, tengo la siguiente declaración:
| Código: | __property TPorts Port = {read=FPort, write=FPort, default=puCOM1}; |
Y luego, en Rfidprotxcontrol1_tbl.h tengo esta enumeración, que parece ser que es la que entra en conflicto con la propiedad antedicha:
| Código: | typedef enum TxPorts
{
puCOM1 = 0,
puCOM2 = 1
} TxPorts; |
En los demás casos de error se cumple lo mismo: una declaración de propiedad con un valor por defecto que resulta ser parte de una enumeración.
Esto sólo me pasa al compilar el ActiveX, la clase VCL como he comentado antes compila y funciona perfectamente.
¿Alguna idea?
¡Mil gracias! |
|
| Volver arriba |
|
 |
fmmarzoa Ens

Registrado: 21 Ago 2002Mensajes: 34
|
Publicado: Jue 29 Ago, 2002 6:43 am Asunto: Una vaga respuesta |
|
|
Bueno, aunque no entiendo muy bien porque ha ocurrido esto voy a publicar la respuesta al problema que he llevado a cabo por si a alguien le pasase lo mismo en un futuro.
Al parecer, al generar el ActiveX, se había duplicado la definición de las enumeraciones y otros tipos de datos en dos archivos; lo cierto es que no se muy bien porque, pero bueno. Al final lo que hice fue comentar toda la declaración de tipos y constantes en uno de los archivos y fuera, todo perfecto.
El tema es que el VCL no lo he hecho yo, así que supongo que podría haber sido desarrollado de forma, digamos, no muy ortodoxa y por ello el Wizard de generación de ActiveX se confunde.
Un saludo, |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|