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 

Una DLL Especial

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Una DLL Especial Responder citando

Hola Foro, tengo la siguiente situación que no encuentro cómo resolverla:

1º Neceisto crear una DLL que hace uso de una Clase que a su ves depende de otras 3 clases.

2º Cada clase tiene su propio archivo CPP y H, y obviamente hay dependencias entre clases, pues una clase contiene a otra que a su vez contiene las otras 2.

3º Cuando genero la DLL y el LIB, al momento de que los ligo a una aplicación de prueba, me pide las declaraciones en los archivos H de todas las clases involucradas.

4º El problema es que la DLL será comercial y solo quisiera la libreria contenga la clase final que contiene las demás, y un archivo H. En pocas palabras requiero encapsular el resto de las clases y su código, para solo exportar una sola con un solo archivo h.

5º Ya he intentado de varias formas pero al momento de ligado no me salvo de que me pida todas las declaraciones del resto de las clases definidas en sus archivos de cabecera H.

Si alguien ha resuelto o hecho algo parecido, se lo agradecería infinitamente me de una mano.

Saludos
_________________
ISC
Dobermannmx
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Bueno, creo que si tu dll contiene la clase que a su vez contiene las otras clases puedes conseguirlo.

Yo lo veo de la siguiente manera:

1.- Tu clase principal, en la dll, tiene su clase.h que el usuario usará. En el no aparecerán #includes de las clases secundarias.

2.- Las clases secundarias se crean para uso exclusivo de la principal y se definen en archivos.h separados e incluidos en el Clase_principal.cpp. Esto implica que no son miembros de la principal pero si podemos tener variables globales en la dll a esas clases. Lo que en la práctica las encapsula en la dll. O bien las clases pueden ser miembros puntero void definidos en Principal.h que serán objeto de un casting en el cpp, ya que este archivo es el que conoce la definición de las secundarias (los include están aquí y no en Principal.h)

3.- Todas las clases, principal y secundaria están compiladas y enlazadas en la dll.

4.- No se hará ningún uso fuera de la dll, y por tanto, de la clase principal, de esas clases secundarias.

Con este sistema puedes conseguir tu propósito.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias Escafandra, probaré tu esquema que suena bastante lógico y viable, ya que por estar tan metido en el resto ya no me daba la cabeza para pensar en cómo resolverlo.

Salu2
_________________
ISC
Dobermannmx
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
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.