FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Redefinir procedure OnShow en form heredado.
Hola a todos.
Ya se que mi consulta es de principiante, a pesar de estar programando hace ya varios años con Delphi 7, y ahora con Lazarus y Delphi 6, pero hasta ahora nunca me tocó hacer lo que necesito. Paso a explicar : Tengo un TForm (TFrmABMGeneric) donde lo construyo para utilizarlo como form padre.Este, en su evento OnSHow hace esto :
Y justo necesito crear un form heredado de este último, pero que no tiene que ejecutar la linea "dsChild.DataSet := TfrmGenericGrid(MainForm.ActiveMDIChild).cdsMaster;" ya que yo le tengo que asignar otros valores y es lo único del form padre que tengo que modificar...al menos hasta ahoa, ja...!!!, y la pregunta del millón es ¿cómo...?. Desde otro form lo creo y lo muestro, pero para que funcione correctamente, debo modificar los valores antes mencionados. Del form padre, tengo muchísimos otros que se crean desde éste y funcionan correctamente, pero veo que tal vez esto último me pase a partir de ahora.
Espero que se entienda el problema. Desde ya, muchas gracias. Saludos. |
#2
|
|||
|
|||
Pues sería sencillo, añadiendo un método virtual, p. ej. DoOnShow (no sé si ya exista) que sea virtual.
Desde el padre, en el evento OnShow, llama a éste método, el cual se encarga de ejecutar lo del dataset que dices. El formulario hijo sólo tendrá que sobreescribirlo y no llamar a inherited, por lo que dejaría de ejecutarse: //El padre:
El hijo:
Un saludo, LoPiTaL |
#3
|
|||
|
|||
Uia...muy buena idea...a ponerlo en práctica y comentar que pasa...
Mil gracias... Saludos. |
#4
|
|||
|
|||
Solo una duda...en el form padre, debería declarar el procedure DoOnShow como virtual ?
Es decir... TFormPadre=class (TForm) ... procedure DoOnShow; virtual; ... Estoy revisando la ayuda de Delphi sobre la declaración virtual, pero no encuentro la info, además de ser un inútil con el idiona inglés...ja... Gracias nuevamente. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
redefinir métodos virtuales | waremovil | C++ Builder | 1 | 24-11-2011 23:07:40 |
por que tengo que poner el nombre del form en el procedure | DarkBlue | OOP | 4 | 17-08-2011 07:37:25 |
redefinir constructor de TForm | Bauhaus1975 | OOP | 4 | 20-12-2008 18:06:40 |
Thread OnShow | walito | Varios | 4 | 17-10-2007 00:36:24 |
Ocultamiento de método heredado | supermilloriver | OOP | 4 | 22-03-2007 05:20:56 |
|