he llegado a conseguir lo que quiero pero quisiera todavia reducir más código
a ver si podeis ayudarme
adjunto un ejemplo tonto para ver lo que quiero conseguir (delphi 7)
pulsando el boton 1 se muestra form2
pulsando el boton 2 se muestra form3
se podria reducir el codigo
Cita:
if (sender as TButton) = form1.Button1 then form := TForm2.Create (Form2) ;
if (sender as TButton).caption = form1.Button2 then form := Tform3.Create (Form3) ;
if (sender as TButton).caption = form1.Button3 then form := Tform4.Create (Form4) ;
|
de manera que
Código:
form:=TForm2.Create(Form2)
valdria para todos los forms?
algo asi:
Cita:
form := ('T'+variable).Create(variable)
|
donde "variable" seria por ejemplo el caption del boton; en este caso, form2, form3,form4
podria hacerse algo ó lo máximo que puede reducirse es como en el ejemplo que he puesto?
he hecho pruebas pero luego me da problemas al acceder a componentes de la form que se muestra, con el codigo que tenga dicha form
pongo ejemplo tonto:
Cita:
procedure inicializarvariables () ;
begin
//codigo
Form2.edit1.clear ;
end;
procedure TForm2.Form2.OnCreate (sender:Tobject)
begin
Form2.Button1.caption := 'hola'
end;
procedure TForm2.Form2.OnShow (sender:Tobject)
begin
//codigo cuando se muestra la form
inicializarvariables () ;
end;
|
gracias de antemano