![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Anidacion de Forms
Hola amigos, tengo un problema que me trae de cabeza. Utilizo Delphi 5. La gestion de ventanas en mis programas es crear un form a modo main y despues en las opciones del menu creo el form para ejecutar las opciones que sean, este form es fsnormal y lo muestro con showmodal y luego lo destruyo con free.
Hasta aqui todo bien, si necesito otro form desde este activo lo creo de la misma forma y bien, pero si desde el segundo intento crear un tercero se me cuelga. No se que puede estar pasando. Desde ya muchas gracias. |
|
#2
|
||||
|
||||
|
Pues en principio veo tu código bien, No se si me escapa algún detalle, lo digo por que no eres muy específico en el "colgar"
Considero que deberías intentar una prueba simple, abriendo los formularios como lo indicas, pero sin activar la BD
De esta manera podría detectar si el problema está al activar tu BD, que al cargarse puede estar realizando alguna operación o consumiendo recursos... También podría suceder que en el mismo oncreate o en el onshow esté realizando operaciones con recursos compartidos con los formularios gemelos... Bueno, no se que mas decirte... Por ultimo, te recomendaría (sugerencia personal) que revisaras la activación de la BD en el OnCreate del propio formulario... Otra sugerencia sería que destruyeras el formulario en el evento OnClose, algo asi:
Con ésto aseguras que cada vez que cierre el formulario se libera la memoria... saludo, |
|
#3
|
||||
|
||||
|
gracias gatosoft por tu rapida respuesta, decirte que tras varias comprobaciones he comprobado que el 'cuelgue' se realiza tras ejecutar la linea que crea el form, no da lugar ni a abrir la tabla, es mas he hecho lo que me dices y igual. Cuando digo cuelgue me refiero a que la aplicacion no responde a nada teniendo que usar el administrador de tareas para pararla. Emiezo a pensar que es que Delphi 5 no permite anidar mas de dos form, porque no encuentro otra explicacion la verdad. Estoy desesperado, tengo que entregar la aplicacion y me ha surgido esto. Espero que le haya pasado a alguien y lo haya solucionado.
Muchas gracias. |
|
#4
|
||||
|
||||
|
Si llamas al 3º form desde el 2º form, y destruyes el 2º form cuando llamas al 3º form... me parece que... tenemos un problema
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
No claro, la llamada al tercer form desde el segundo se hace antes de destruirlo. El proceso es ejecuto el primero, en un proceso de este se llama al segundo y en un proceso de este se llama al tercero, cuando se cierre el tercero se destruye, y cuando se cierre el segundo se destruye. El caso es que cuando son solo dos no hay ningun problema, solo me ha surgido al llamar al tercero y es lo que no entiendo.
Gracias por vuestra ayuda e interes. |
|
#6
|
||||
|
||||
|
Creo que no entiendo cómo lo haces. ¿Puedes poner el código?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Ayuda en anidación de transacciones | crcmartell | Conexión con bases de datos | 1 | 04-01-2008 08:05:11 |
| Cursores y anidación de procedimientos almacenados | david.rguez | SQL | 1 | 02-08-2007 17:06:31 |
| MDI Forms | karocs | Varios | 8 | 12-07-2007 16:38:03 |
| dll con forms | Rafa | Varios | 10 | 15-02-2005 20:43:11 |
| Forms.....por fa | buitrago | Varios | 1 | 19-11-2003 22:42:52 |
|