Unigui sabe cual es el formulario principal a través de esta sentencia:
RegisterMainFormClass(UNA_CLASE_HEREDADA_DE_TUniForm);
Dicha sentencia debe de ser llamada en alguna sección initialization. Una vez arrancado el "sistema", dicha sentencia ya no funciona y Unigui devuelve una excepción cuando intenta arrancar el formulario principal.
Por ejemplo.
Código Delphi
[-]
Var
ArrancaForm1: Boolean;
...
unit 1
...
type
TFormulario1 = Class(TuniForm)
...
initialization
if ArrancaForm1 then
RegisterMainFormClass(TFormulario1);
end.
...
unit 2
...
type
TFormulario2 = Class(TuniForm)
...
initialization
if not ArrancaForm1 then
RegisterMainFormClass(TFormulario2);
end.
De esta forma puedes cambiar el formulario principal, pero SOLO en el arranque del sistema. Si existiera UnRegisterMainFormClass, seguramente se podría hacer en cualquier momento, pero Unigui no incorpora dicha funciona.
Espero haberme explicado