Parámetro

Que tal expertos:
¿Cómo hago para pasar por parámetro: una bandera o una variable cualquiera de un formulario normal, a un showmodal?
Gracias

1 respuesta

Respuesta
1
Puedes crearte properties en la parte public del form modal.
Entonces, antes de mostrarlo, llenas esas properties y trabajas con esos valores.
Si necesitas devolverlos, puedes usar las mismas properties. Acto seguido de cerrar el dialogo y antes de eliminarlo, lees sus valores accediendo de la forma habitual (param1 := form2. Param1).
Ej.
form2.param1 := 'param1';
form2.param2 := 'param2';
form2.param3 := 'param3';
form2.showmodal;
Ok, ¿quiere decir que tengo que crear un registro?
Type xxx
{
param1:=1;
}of record
No, cuando pongo:
form2.param1 := 'param1';
form2.param2 := 'param2';
form2.param3 := 'param3';
form2.showmodal;
Me refiero que en la parte public del form2 (el modal) habrás creado esas properties o variables y en este punto les estas asignando valores.
Ej. Del form2:
unit Unit2;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
Tform2 = class(TForm)
procedure FormCreate(Sender: TObject);
private
Fparam3: String;
Fparam1: String;
Fparam2: String;
procedure Setparam1(const Value: String);
procedure Setparam2(const Value: String);
procedure Setparam3(const Value: String);
{ Private declarations }
public
{ Public declarations }
property param1 : String read Fparam1 write Setparam1;
property param2 : String read Fparam2 write Setparam2;
property param3 : String read Fparam3 write Setparam3;
end;
var
form2: Tform2;
implementation
{$R *.dfm}
procedure Tform2.FormCreate(Sender: TObject);
begin
end;
procedure Tform2.Setparam1(const Value: String);
begin
Fparam1 := Value;
end;
procedure Tform2.Setparam2(const Value: String);
begin
Fparam2 := Value;
end;
procedure Tform2.Setparam3(const Value: String);
begin
Fparam3 := Value;
end;
end.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas