Ahi va el codigo que uso. El formulario se crea bien con el codigo que se publico en este hilo pero no pasa por su constructor.
El formulario que debe crear es heredado y el constructor esta declarado como Virtual.
Código:
procedure TfrmListado.CreaFicha;
var ClaseFicha: TFormClass;
begin
inherited;
ClaseFicha := Fabrica.Clases[FFormFicha];
with ClaseFicha do begin
Create(Self);
end;
end;
initialization
Fabrica.Registrar(TfrmListado);
Gracias por vuestra ayuda!