lo que tengo que hacer es algo como esto:Paso de una clase como un parámetro de un procedimiento en Delphi XE
procedure A(type_of_form);
var form: TForm;
begin
form := type_of_form.Create(application);
form.showmodal;
freeandnil(form);
end;
Hice esto para cada forma creada dinámicamente:
form1 := TForm1.Create(application);
form1.showmodal;
freeandnil(form1);
Lo que lo hará dentro del procedimiento A es más complejo, pero el problema reside en cómo hacer que la creación de la forma sea algo general. Quizás algo con @operador ... realmente no lo sé.
¡Gracias por cualquier sugerencia!
'form.Free' está bien allí. Vale la pena señalar que esto solo funciona si el constructor del formulario reemplaza al constructor 'TForm'. –
@David, ¿está diciendo que esto no funcionará si el constructor se llama Crear, con parámetros coincidentes, si oculta el constructor descendiente? –
@Marcus Eso es correcto. Necesita usar constructores virtuales para obtener instanciación a través de la referencia de clase para trabajar. De lo contrario, terminará con un 'TMyForm' cada vez, independientemente de lo que esté en la referencia de clase. –