PDA

Ver la Versión Completa : Reutilizar/ copiar unidades


Benito
12-06-2006, 16:34:42
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:


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