![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
duplicar un form para posteriormente modificar solo unos datos
Tengo ya creado un form con su funcionalidad (todos sus procedimientos, su diseño con pestañas, etc..) se llama proveedores y querria crear otro llamado clientes cuya estructura y procedimientos serian similares salvo algunos pequeños cambios ( es decir, presentaria el mismo diseño, igual numero de pestañas y éstas con los mismos nombres), podria de alguna manera mas eficiente realizarlo sin tener q ir copiando y pegando?
saludos a todos y gracias |
#2
|
||||
|
||||
Hola,
Nunca lo probé personalmente, pero, me consta que en Delphi es posible heredar formularios por medio de cierto asistente del entorno. Te diré la forma en que creo que se hace, empero, es posible que existan otras o que esta no sea la más adecuada. En unas pruebas todo fue bien, pero, ya digo, si algún compañero ve menester rectificame le ruego que lo haga. Se trata de hacer clic con el botón derecho en el formulario y elegir la opción del menú contextual "Add to repository...". Rellena las casillas del cuadro de diálogo que te aparece y haz un par de pruebas. Puedes "copiar" y "heredar" un formulario, al menos, y, efectivamente (al menos en el caso de la copia) obtendrás un duplicado del formulario, incluso con su código fuente. Dale un par de vueltas al asunto a ver. ![]() |
#3
|
|||
|
|||
Hola, y si no te funciona o no te aclaras con el Repositorio de Objetos, puedes hacerlo a mano:
Copia los archivos *.pas y *.dfm que necesites, renombrándolos: Por ejemplo: UProveedor.pas y UProveedor.dfm --> UClientes.pas y UProveedor.pas Abrelos con Delphi y cámbiales las referencias a los nombres anteriores: * En el formulario, cámbiale el nombre (FormProveedor --> FormClientes). Esto cambiará en el código la referencia a todos los procedimientos. * En la unidad, desde el nombre (unit UProveedor --> unit UClientes) y todas las referencias que encuentres, por ejemplo, al cerrar el formulario: Código:
procedure TFormClientes.FormClose(Sender: TObject; var Action: TCloseAction); var Ficha : TFormClientes; begin Action:=caFree; Ficha.Release; end; Yo siempre hago todo "a mano" (y así me va....) ![]() Saludos
__________________
Rafita. |
#4
|
||||
|
||||
Cita:
Basta con ir al Menú File/New/Other Y entre las pestañas visibles aparecerá una con el nombre del proyecto que tienes abierto. Selecciona la pestaña, el formulario, asegurate de que el radioButton inferior está en "inherited" y pulsa aceptar. Si ese formulario lo vas a heredar más veces y en otros proyectos, es mejor el sistema anteriormente comentado. Un saludo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Gracias a todos por vuestra ayuda voy a probar
Saludos |
#6
|
|||
|
|||
Cita:
Excelente, solución, la probé ok., solo que para usar el repositorio debes ir a New --> Other y seleccionar el formulario, perfecto. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
recorrer listbox para modificar tamaño del form | DM2005 | Varios | 1 | 15-08-2006 14:11:10 |
Es posible para solo la estructura de la base de datos de ib expert a Access | Nelly | Varios | 3 | 10-02-2006 08:37:59 |
mandenme unos ejercicios (para novatos) | perudelphi | OOP | 11 | 09-12-2004 07:18:21 |
No duplicar datos al hacer inserciones... | uper | Firebird e Interbase | 5 | 30-06-2004 12:47:25 |
para no dejar duplicar registros en InterBase | Giniromero | Firebird e Interbase | 5 | 21-06-2003 02:05:03 |
![]() |
|