Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Crear un formulario (https://www.clubdelphi.com/foros/showthread.php?t=42881)

rex 25-04-2007 07:43:22

Crear un formulario
 
Realmente aprendí delphi al vuelo y nunca aprendí el manejo de constructores y esas cosas. Bueno el problema es lo siguiente, a ver si puedo explicarme. Tengo un formalario llamemosle Form1, en donde tengo dos botones, en el evento onClick, de cada boton crean y muestran otro formulario en tiempo de ejecucion, por lo que necesito que dependiendo del boton pulsado el formulario creado reciba como parametro un valor que le madara el boton respectivo

tengo algo asi declarodo en el form1
Código Delphi [-]
//............
Public
  ClaseForma : TFormClass;
end;
//..........

procedure TForm1.Button1Click(sender : tobject);
begin

 claseForma.Create(nil).ShowModal;
end;

Mi problema es que necesito que este formulario reciba dos parametros, es decir que el constructor create, pueda recibir parametros como algo asi:

Código Delphi [-]
constructor TCustomForm.Create(AOwner: TComponent, Parametro1: String, Parametro2: String);

Para que cuando lo invoque pueda hacerlo asi:

Código Delphi [-]
procedure TForm1.Button1Click(sender : tobject);
begin
 claseForma.Create(nil, 'Boton1','Valor1').Showmodal;
end;


procedure TForm1.Button2Click(sender : tobject);
begin

 claseForma.Create(nil, 'Boton2','Valor2').showmodal;
end;

Como que tengo la idea, ya que estoy revisando el codigo del Unit Forms, pero no se como armar la nueva unidad que creara el formulario. Tomo un curso de delphi mejor o creen que pueda encontrar algo por aqui??

De antemano muchas gracias

Neftali [Germán.Estévez] 25-04-2007 12:46:05

Divide la línea del create y del Show en dos y entre medio pásale los parámetros que necesitas utilizando un par de propiedades.

Código Delphi [-]
  F := TForm.Create(...);
  F.Valor1 := 1;
  F.Valor2 := 2;
  F.ShowModal;

La otra opción es redefinir el constructor para poder ampliar los parámetros.

Código Delphi [-]
public
  Constructor Create(AOwner: TComponent; Valor1, Valor2:Integer); virtual;

...

En la implamentación llamas al inherirted y luego asignas los valores.

rex 26-04-2007 08:19:11

Grax por tu ayuda Neftali, si me oriento, y revisando con lo que me comentas hice una busqueda en los foros y encontre este hilo que ya viene explicado con peras y manzanas, o como decimos por aca, en bandeja de plata.

http://www.clubdelphi.com/foros/show...ros+formulario


Muchas Gracias por tu ayuda y la de todos en conjunto


La franja horaria es GMT +2. Ahora son las 12:02:03.

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