![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
#1
|
||||
|
||||
Cita:
![]() Muchisisisimas gracias por esta clase de FRAMES dec, eso era precisamente lo que necesitaba y creo que será de utilidad para algunos foristas. Ya entendí el funcionamiento de los frames y veo que tienene muchisima utilidad, de hoy en adelante los usaré en la mayoría de mis proyectos.
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal" Siempre hazlo con la ayuda de Dios
|
#2
|
||||
|
||||
Yo suelo usarlo para los grids.
Creo un frame, añado un grid, lo configuro a mi gusto, añado algunas rutinas para ocultar columnas o lo que necesite... y listo. Ya tengo ese Frame para usar cada vez que necesito un grid en el proyecto. Ahorra mucho código y tiempo, lo aconsejo. dec, enhorabuena por el peaso artículo ![]() Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Hola a todos! Otra vez con problemas referentes al tema de Frames, a continuación lo describo:
Por aqui anduve leyendo y me encontré con que, para destruir un componente de manera sencilla en alguna parte de mi aplicación, el owner tendría que ser yo o "nil", asi que tengo el siguiente código para crear mi frame: Aqui, como pueden ver, creo el frame con owner = nil y lo pongo sobre un panel (por lo menos eso es lo que creo que hago). Después trato de destruir este frame con un botón que tengo en el mismo frame con el siguiente código: En algunas ocaciones me han dicho que debo de tener cuidado al momento de destruír los componentes. que debo hacer que apunte a nil nuevamente, pero eso no lo entiendo, además, con lo que he hecho hasta ahora, me marca el error de Cita:
Gracias otra vez...
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal" Siempre hazlo con la ayuda de Dios
|
#4
|
||||
|
||||
Prueba con FreeAndNil(FrameCamAlt)
Saludos
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#5
|
||||
|
||||
Sigo teniendo el mismo problema, pero acabo de darme cuenta de que la primera vez que lo destruyo no pasa nada, solo aparece a partir de la segunda ocación que lo elimino. Es que este frame lo puedo mandar llamar varias veces sin necesidad de salirme del programa.
La solución que estoy pensando implementar es ocultar el frame cada vez que oprima el botón de salir y destruirlo al salirme de la aplicación, ¿hay otra solución?
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal" Siempre hazlo con la ayuda de Dios
|
#6
|
||||
|
||||
Problemas no hay ninguno mientras no solapes las 2 creaciones del objeto.
Esto es inaceptable:
Porque desde una clase TFRameCamAlt, estas intentando liberar la memoria del objeto que lo instancia. Imagina un código así: Cuando el usuario pulse el botón salir, se querrá liberar la variable FrameCamAlt que sabe dios si está creada o no. La solución a tu problema, desde mi punto de vista, es crear al frame un evento OnSalir, cuando el usuario pulsa el botón salir, se lanza ese evento, que lo recoge la ventana donde se creó el Frame, y desde allí se destruye el Frame. Resultará complejo, pero deberías hacerlo así: Definición del Frame:
Ahora la ventana donde quieres incluir el frame en ejecución:
Aquí está el detalle importante: La misma ventana que crea el frame es el que lo destruye. Además evitas dolores de cabeza, muy típico cuando depuras un programa: "El frame se crea en el form1... pero ¿donde se destruye? ahhh ... siii, en el Form25 cuando se pulsa el boton XXX"... demasiado lío compañero. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 01-04-2007 a las 02:40:19. |
#7
|
||||
|
||||
Cita:
Puse todo el código que me recomendó Lepe nada mas que modifiqué un poco el procedimiento RecibeEventoSalir, lo puse de la siguiente manera: Esto lo hice para poder usarlo con algunos Frames que tengo en la aplicación (ahí solo muestro 2, pero son mas). El error que me marca es el de Abstract Error, después de la última línea del código que acabo de poner, pero la primera vez que lo ejecuto no, hasta la segunda pasa. Cita:
Cita:
Cita:
__________________
"Sé de tal manera y vive una vida tal, que si todos los hombres fueran como tú y vivieran como tú, nuestro mundo sería un paraíso terrenal" Siempre hazlo con la ayuda de Dios
|
#8
|
||||
|
||||
No sé si para la plataforma Net exista una componente llamado TNotebook que en delphi 7 se dencuentra en la paleta win 3.1, es algo antiguo y por eso no estoy seguro. Si no exite todavía podrías utilizar el TpageControl y en cada página colocar un frame (modulo) distinto y cambiar la página activa como PageControl1.activepage := X
con esta forma te evitarás el enorme trabajo de estar ocultado y mostrando los frames. El PageControl lo puedes personalizar para no mostrar las ventanas, aún así yo en lo personal prefiero utilizar el TNoteBook porque obtengo una mejor apariencia, y creo que sería la mejor para tí. El problema con el PageControl es que a pesar de ocultar las pestañas, este se muestra de un forma 3D, que creo que no haría uniformidad con tu aplicación. Puedes buscar alternativas en internet. La mejor alternativa que conozco es un componente que creo que se llama TNoteoBookForm o algo por el estilo, es del paquete LM Tools, tienen un paquete gratuito y otro comercial, talvez el componente que te mensiono sea parte del gratuito. Te aseguro que sería lo mejor que puedes obtener para tu apliación ya que carga formularios en páginas de un NoteBook. de esta formar ahorraría mucha memoría. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Frames | Caro | Varios | 4 | 17-06-2005 16:55:01 |
Varios forms, frames y un Data Module | gluglu | Varios | 1 | 07-04-2005 19:28:51 |
Uso de Frames | jdangosto | OOP | 7 | 20-01-2005 00:15:03 |
Frames | pepelu1975 | OOP | 2 | 21-05-2004 17:32:01 |
Frames | pepelu1975 | Varios | 2 | 17-02-2004 18:00:30 |
![]() |
|