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 

Forms Desparecidos y/o Archivos de Cabecera no Asignados

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Forms Desparecidos y/o Archivos de Cabecera no Asignados Responder citando

Bien, les cuento, bajé la version Trial de C++ Builder 2007, el IDE, es similar al BDS2006, todo interesante, me parece perfecto la rapidez de compilación y todo lo demas.

pero!, me ha surgido un pero.

Explico por si alguien ha tenido este problema, que lo he resuelto a medias, ya que la solucion no me queda del todo satisfecho.

1.- Tengo un proyecto echo en BCB60, en el contengo varios forms (24 aproximadamente)

2.- Abro el proyecto en el IDE del BCB2007, me indica que ha convertido el proyecto a la version 11.1, "presto!!" a la compilación, despues de algunos contratiempos como DYNAMIC RTL, desabilitar el Warning 8057 (El parametro Nunca es usado), asi como "Build With run time packages" y de rutas y archivos en diferentes directorios, el programa se compila en 100%

3.- ejecuto el programa, sin ningun contratiempo y veo que todo funciona correctamente bien. (me ha gustado mucho el IDE)

4.- En el mismo IDE del BCB2007, existe una parte denominada "Project Manager" (del lado derecho, arriba), donde aparecen todos los forms que el proyecto tiene (igual al BDS2006).

5.- se me ocurre ir presionando doble clic en cada uno de ellos para ver los Forms, y hoo!! sorpresa, la mayoria de forms, se presenta correctamente, es decir presionó clic en un archivo de nombre principal.cpp, y en el editor me aparece el principal.h presionó la tecla F12 para intercambiar entre el editor y el Form y funciona correctamente.

Pero existen algunos archivos cpp que al presionarles doble clic, solo me presenta el archivo cpp, sin el nombre del archivo, ni el archivo de cabecera correspondiente (.h) si presiono F12 NO se presenta el Form, reviso los directorios y efectivamente estan los 3 archivos.
ejemplo:
Visor.cpp
Visor.h <--- no se presenta
Visor.dfm <--- no se presenta

pero no puedo acceder al form, en las opciones del proyecto, aparece los forms y cuando intento abrir el Form con la opcion "View Form Shift+F12" solo se presenta el archivo .cpp, sin que aparentemente tenga asociado el form (dfm) ni el archivo de cabecera (.h)

Soluciones que he intentado.
Solucion 1.- al ver que no parecia, decidi crear un nuevo Form y "copiar a mano" los componentes asi como el contenido del archivo .dfm, al realizar esta operacion, el form YA se visualiza y se puede mostrar con la opcion F12 (para el intercambio de editor - Form y viceverza), esta solucion no me parece factible, pues son aproximadamente 16 forms que NO se presentan y es demasiado teidoso realizar esta operacion pues tienen en su interior muchas lineas de codigo en los otros restantes. (solucion a medias).

Solucion 2.- Segun mi perspectiva, elimine los forms del proyecto que no se visualizan, y decidi agregarlos nuevamente con la opcion (Shift + F11) al realizarlos he ir compilando con Ctrl + F9 para ver que forms son los que me pedia el proyecto me di cuenta, que en la parte de Project Manager, solo se agregaba el archivo .cpp, no tome mucha importancia y segui agregando los "Forms" que me hacian falta, volvi a ejecutar el proyecto con F9, efectivamente se compila y el programa se ejecuta correctamente, usando los "forms" que NO aparecen.

Ahora bien, mi proyecto tiene ahora 8 Forms de los 24 y los otros 16 definitivamente no aparecen en el "Project Manager". (a lo mejor se comprmieron en un zip, jeje y estan ocultos, o alguna mano obscura me los ha escondido).

mi pregunta concreta es la siguiente.

¿De qué manera puedo hacer que al pasar un proyecto de la version BCB60 o de la version BDS2006, al BCB2007 se presenten los Forms?

pd: gracias, por leer este post y todas las sugerencias son bienvenidas, mi idea es no "re crear" los 16 forms restantes y copiar a mano, como la solucion 1, pues seria algo engorroso, volver a reconstruir de nuevo el proyecto.

pd: comento que al realizar la actualizacion del BCB60 al BDS2006 este contratiempo NO aparece.

Gracias!! un saludo
_________________
Cool


Ultima edición por Cesar C. Salazar Gonzalez el Sab 28 Jul, 2007 12:19 am, editado 4 veces
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Vaya que contrariedad!!, despues de 4 horas de buscar y buscar por toda la red, sin aparente solucion, por fin he dado con ella.

al parecer, bueno esto no sucedia en versiones anteriores, ni con el BCB60 ni con el BDS2006, el chiste de todo esta en la siguientes lineas del Archivo .h

es decir en las 2 primeras lineas (ifndef y define)

pongo la solución, para que si alguien tiene la misma contrariedad que yo no solo en BCB2007, si no en otras versiones, verifique la siguiente información

supongamos el siguiente ejemplo, voy a tomar uno de los 16 forms ocultos, ahora ya vistos, jejej

tengo un form de nombre ccsgImpresora.cpp por correspondiente el archivo ccsgImpresora.h y la declaracion del form ccsgImpresoras.dfm

quedando de la siguiente manera

ccsgImpresoras.cpp
ccsgImpresoras.h *
ccsgImpresoras.dfm


me puse a revisar linea por linea, para ver cual era la solución y ver la diferencia que existia entre un form que SI se ve y otro que NO se ve.

Revisando la informacion del archivo ccsgImpresoras.h que en este caso es el que estoy tomando de ejemplo, me doy cuenta que las 2 primeras lineas, de la declaracion de la macro, para que no se carge dos veces el archivo de cabecera al ser utilizado en otros archivo o al incluirse contiene las siguientes lineas


#ifndef UImpresorasH
#define UImpresorasH


pues bien lo que hay que tomar en cuenta, es que el nombre de la macro o en mi caso asi fue, no probe con modificar el .h y grabarlo (ya que lo realice sin ningun exito) si no que cambie la declaracion de las dos lineas al nombre del archivo .cpp que hacen referencia de la siguiente manera

#ifndef ccsgImpresorasH
#define ccsgImpresorasH


Es decir al nombre que tiene el archivo .cpp, grabo, cierro el form (close all o Close) desde el menu de archivos, tambien se puede hacer con la [x] que viene el IDE del BDS2006 o del BCB2007, y posteriormente, habro de nuevo el formulario desde el Proyect Manager y ???????

Efectivamente, le atinaron, el Form YA SE VE!!!! (viva, yupi!!! Very Happy ) bueno en fin que perdi 4 horas de mi tiempo en la red, (hasta aprendi a jugar billar en yahoo) y vine a caer una solucion demasiado obia, que no recuerdo en que parte de la ayuda de builder dice que debe cuidarse la macro que define al archivo de cabecera .h con relacion al nombre del archivo .cpp

Bueno Saludos !!

y que alguien le sirva...

pd: he esta desconectado por algun tiempo... pero ya pronto volveré a retomar el camino ...
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Muchas gracias, que también tenía este problema, estaba como loco también buscando solución e incluso llegué a editar manualmente el archivo de proyecto sin éxito alguno.

Gracias y saludos.
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.