Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Error 2015 (Ambigüedad) al convertir VCL en ActiveX

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Error 2015 (Ambigüedad) al convertir VCL en ActiveX Responder citando

Hola de nuevo, soy yo otra vez... Embarassed

Gracias a vuestra ayuda voy avanzando con esto pero sigo topándome con dificultades debido, sin duda alguna, a mi inexperiencia en estos berenjenales Crying or Very sad .

A ver, tengo una clase VCL con la que deseo crear un ActiveX (gracias R. Porcar Smile ). Habiendo superado los problemas con los ancestros (gracias Leo Smile ), se me plantea una nueva dificultad Confused . 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... Crying or Very sad


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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Una vaga respuesta Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
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


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.