FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
lo que genera
Ese es precisamente el Form que se genera y q se declara en el uses:
DBGridCheck, ExControlsTabla //TfmExControlsTabla; El DBGriDCheck es un TFrame contenido en el form ExControlsTabla, que esencialmente es toda una aplicación que edita indices, busquedasy filtros, ademas de crear los controles DBImage, DBtext y todos los que quieras. Como una imagen vale + que 1000 palabras vamos a intentarlo: http://img386.imageshack.us/img386/8023/dbx5sl.jpg De modo que pasamos una tabla de un DataModule (en el metodo execute asi: Explorador:= TfmExControlsTabla.CreateTabla(Owner, FTable); ) que tiene sus campos Lookup y otros, personalizados en el doble click del TTable. Solo diseñamos la conexión, el formulario ExControlsTabla, genera edición de campos Blob, y todo lo que queramos escribir. Última edición por lento manu fecha: 06-10-2005 a las 12:23:34. |
#2
|
||||
|
||||
Execute es publico, por tanto el usuario puede llamarlo varias veces ok¿?, vale, lo llamo una vez, se crea el Explorador. Lo llamo una segunda vez, se vuelve a crear otro Explorador ¿y que pasa con el anterior? pues simplemente se queda perdido en memoria ram, ocupando memoria y sin que nadie lo pueda liberar, ya que Explorador apunta ya al nuevo creado. solución:
saludos |
#3
|
|||
|
|||
execute
De nuevo gracias, Lepe, por leerte tan bien el código. Tienes toda la razón, siempre que este llamando el método create desde la propiedad FModal=True. Quizá ha sido un error implementar la creación Modal o NoModal del form Explorador. Si es modal, la aplicación no permite crear ningún 'Explorador' más, ya que no tenemos foco para ello, pero no estaría de más protegerlo además con un Exit (eliminando la opción NoModal):
Si no quisiera, 'caprichos de usuario', editar en Modal, entonces se generan con el mismo componente tantos exploradores como llamadas haga, desde por ejemplo un menú de Exploración multitabla: El grave problema o error es que estoy usando Owner como como antecesor de todas esas ventanas, muy peligrosas, que se autodestruyen al morir el form donde reside este componente DBexplorador, posiblemente sería mejor Self, si asigna el compo en si como propietario o Padre. Tendía que hacer las pruebas: Hecho: ningún problema de momento ...Han colado las NoModal apagando desde la principal. |
#4
|
||||
|
||||
Cita:
Pues quitalos del TDBExplorer y dejalos en TExControlsTabla. No es una buena práctica en OOP modificar cosas que no te pertenecen Igual que haces con la propiedad Table, haces con la propiedad Explorardor, pasandolo de public a published. saludos |
#5
|
|||
|
|||
cambiar a Published
Seguramente es una gran idea, y supone rescribir un poco. Y sobre todo testearlo, pero posiblemente la lógica sea más sólida.
De nuevo gracias por tus valoraciones y consejos. Lo intentaré en cuanto pueda. De todos modos, el objeto es el que crea el complejo Explorador, basados en el form TfmExControlsTabla. A simple vista me parece difícil, lo q comentas, sobre todo para editarlo, pero sin probarlo, no lo puedo saber. Voy a intentar maquetearlo todo + simple, a ver q pasa. |
|
|
|