In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Comprendiendo los SubProyectos X215

Foro público de Xailer en español
Responder
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Comprendiendo los SubProyectos X215

Mensaje por Bingen Ugaldebere »

A ver si el equipo Xailer me puede ayudar a entender el funcionamiento
de los subproyectos.
Primero he tomado un proyecto que antes generaba una LIB (Bisoft.Lib)
que luego enlazaba con TODAS mis aplicaciones y ahora la incluyo como
subproyecto. Esto funciona PERFECTO.
Pero he querido complicarlo un poco más.
He tomado la aplicación que estoy desarrollando y le he quitado todos
los PRGs que son comunes a todas las aplicaciones MySql, los cuales he
montado en un Proyecto separado llamado MySqlSubProyect.
Ahora vuelvo a mi aplicación a la que le adjunto el subproyecto
MySqlSubProyect y recompilo.
Primero me da errores por que MySqlSubProyect también usa funciones que
están en el subproyecto BiSoft. Vale pues entonces vuelvo a
MySqlSubProyect y le adjunto el subproyecto BiSoft.
De esta manera el subproyecto BiSoft queda añadido al subproyecto
MySqlSubProyect y a la aplicación principal.
Ver esquema en documento adjunto.
Es esto correcto ? o solo debo añadirla una vez y donde?
Por último las Clases que tengo definidas en el subproyecto
MySqlSubProyect no son accesibles desde la aplicación:
Error: Unresolved external '_HB_FUN_BRWSELECT' referenced from
C:XDESARROLLOSPROGRAMASXMUSIKAOBJFORMCALIFICACIONES.OBJ
Error: Unresolved external '_HB_FUN_TFORMINPUT' referenced from
C:XDESARROLLOSPROGRAMASXMUSIKAOBJPROFESORES_FORM.OBJ
Error: Unresolved external '_HB_FUN_TGOOGLEMAPS' referenced from
C:XDESARROLLOSPROGRAMASXMUSIKAOBJPROFESORES_FORM.OBJ
Error: Unresolved external '_HB_FUN_FRREPORTMANAGER' referenced from
C:XDESARROLLOSPROGRAMASXMUSIKAOBJFORMCALIFICACIONES.OBJ
Error: Unresolved external '_HB_FUN_TFRMABOUT' referenced from
C:XDESARROLLOSPROGRAMASXMUSIKAOBJFRMMAIN.OBJ
Error: Unresolved external '_HB_FUN_TSQLSTRUCTURE' referenced from
C:XDESARROLLOSPROGRAMASXMUSIKAOBJFRMMAIN.OBJ
Error: Unresolved external '_HB_FUN_TFLDMYSQLUSUARIOS' referenced from
C:XDESARROLLOSPROGRAMASXMUSIKAOBJFRMMAIN.OBJ
Error: Unresolved external '_HB_FUN_TFORMFOLDER' referenced from
C:XDESARROLLOSPROGRAMASXMUSIKAOBJALUMNOS_FOLDER.OBJ
No se puede hacer esto?
Espero haberme explicado bien.
Gracias y salu2.
--
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Comprendiendo los SubProyectos X215

Mensaje por jlalin »

Bingen,
> Por último las Clases que tengo definidas en el subproyecto MySqlSubProyect
> no son accesibles desde la aplicación:
¿Los "unresolved external" no serán porque falta por añadir bisoft.lib en
Proyecto->Propiedades del proyecto->Librerí­as de la aplicación?
Saludos,
José Lalí­n
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Comprendiendo los SubProyectos X215

Mensaje por Bingen Ugaldebere »

> ¿Los "unresolved external" no serán porque falta por añadir bisoft.lib
> en Proyecto->Propiedades del proyecto->Librerí­as de la aplicación?
Si pero como explico al principio del mensaje, basandome en que a priori
he hecho la prueba de no adjuntar la LIB sino incluirla como un
subproyecto y ha funcionado, por que habrí­a de hacerlo después.
Posiblemente si incluyo esta Bisoft.Lib y me hago otra para
MySqlSubProyect.Lib y las enlazo, funcione a la primera, pero entonces
para que necesito los subproyectos???
Salu2.
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Comprendiendo los SubProyectos X215

Mensaje por jlalin »

Bingen,
> Posiblemente si incluyo esta Bisoft.Lib y me hago otra para
> MySqlSubProyect.Lib y las enlazo, funcione a la primera, pero entonces para
> que necesito los subproyectos???
Yo aún no los he usado a fondo pero en este caso, al hacer una modificación
en un subproyecto me imagino que el proyecto principal tendrá en cuenta los
cambios del subproyecto a la hora de enlazar.
Como te digo no es más que una suposición, a ver qué dice Jose F. al respecto.
Saludos,
José Lalí­n
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Comprendiendo los SubProyectos X215

Mensaje por jfgimenez »

Bingen,
> Primero me da errores por que MySqlSubProyect también usa funciones que
> están en el subproyecto BiSoft.
Intuyo que el proyecto MySqlSubProyect lo has creado de tipo "exe", no
"lib". Estoy seguro al 99% de que ese es el problema ;-)
En general, el funcionamiento del "multiproyecto" es el siguiente:
- Cada vez que se va a compilar, Xailer comprueba si el proyecto principal
tiene algún subproyecto. Si es así­, compila primero los subproyectos.
- Este proceso lo hace de forma recursiva, es decir, si un subproyecto
contiene a su vez subproyectos, estos últimos se compilan primero.
- Si un subproyecto es de tipo "lib", entonces se enlazará a su proyecto
"padre"; exactamente igual que si se añadiera la librerí­a directamente al
proyecto "padre".
- Otros procesos, como la "búsqueda en ficheros", se realizan sobre todos
los módulos de todos los proyectos y subproyectos, sin importar su nivel de
anidamiento.
- El "gestor de recursos" permite elegir cualquier fichero .rc de cualquier
subproyecto. No hemos querido limitar la selección de un recurso al proyecto
al que pertenezca el formulario que está siendo editado, con el fin de
permitir estructuras de proyectos más complejas. P.ej., se puede tener un
proyecto principal que sea un "exe", varios subproyectos de tipo "lib" y
otros de tipo "dll". En el caso de los módulos de las librerí­as, podrán
acceder sin problemas a los recursos del ejecutable, ya que en realidad
estarán enlazadas dentro de él. Y en el caso de las dll, también podrán
acceder a los recursos del ejecutable, mientras que éste podrá acceder a los
recursos de las dll siempre que estén cargadas en memoria.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Comprendiendo los SubProyectos X215

Mensaje por Bingen Ugaldebere »

> Intuyo que el proyecto MySqlSubProyect lo has creado de tipo "exe", no
> "lib". Estoy seguro al 99% de que ese es el problema ;-)
Efectivamente, eso montaba el lí­o padre.
Ahora ya lo tengo resuelto y funcionando 100%
Va a dar mucho juego este tema, si señor.
Salu2 y gracias.
Responder