Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Reutilizar/ copiar unidades (https://www.clubdelphi.com/foros/showthread.php?t=32648)

Benito 12-06-2006 16:34:42

Reutilizar/ copiar unidades
 
Hola:

Quiero utilizar una unidad, y su formulario, que ya tengo hecha pero cambiando sólo algunos detalles. ¿Cómo puedo "copiarlos" con otro nombre en el mismo proyecto? Si lo hago directamente me da todo tipo de errores.

Un saludo. Benito.

Neftali [Germán.Estévez] 12-06-2006 16:54:40

Save As... con otro nombre, cambia el nombre al formualrio (propiedad Name) y luego añades al proyecto el formulario original.

Benito 12-06-2006 23:35:04

Hola:

Eso ya lo he probado, el problema que tengo entonces es que, además de tener que cambiar todos los nombres del antiguo formulario en la unidad, lo cual es lógico, me asocia la nueva unidad con el antiguo formulario de la unidad original, no con uno nuevo asociado a la segunda.

Unit 1 <-> form 1;
Unit 1 Save as Unit 2;
Unit 2 <-> form 1;

Un saludo.

Neftali [Germán.Estévez] 13-06-2006 09:47:23

No se exactamente cómo lo has hecho, ya que Delphi cambia esa asociación automáticamente, de todas formas tampoco es difícil cambiarla "a mano"; Todo está en el DPK:

Código Delphi [-]
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

La línea que está en negrita es la que debes cambiar para "modificar" la asociacio entre la unit y el form.

Lepe 13-06-2006 09:58:07

Para ese tipo de cosas, te aconsejo que uses Frames o "component Template", mejor lo primero, es más cómodo y fiable.

File -> New -> Frame. Verás que es igualq que un Form, pero no tiene eventos OnCreate, OnShow. Ahí copias y pegas todo el contenido de ese form. Cuando quieras usarlo en otro sitio, usas Frame de la paleta de componentes Standard y delphi te pedirá cual Frame quieres usar.

Con eso evitas tener código repetido que hace lo mismo.

Saludos

roman 13-06-2006 17:11:24

Lo de los frames está bien pero pienso que habría que saber más detalles antes de saber qué le conviene más. Por ejemplo, es posible que lo que realmente le sirviera fuera la herencia visual de formularios.

// Saludos

Benito 14-06-2006 22:27:19

Muchas gracias por la información. De momento lo solucioné cambiandolo todo manualmente, pero en cuanto tenga tiempo, o me surja otra vez la necesidad, probaré vuestras opciones.

Saludos


La franja horaria es GMT +2. Ahora son las 19:19:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi