uniGUI下有专用的登录窗体类:TUniLoginForm,该类属于AppForm,构建代码为:

function frmWebLogin: TfrmWebLogin; 
begin 
  Result := TfrmWebLogin(dmWebMain.GetFormInstance(TfrmWebLogin)); 
end;

系统中如果存在登录窗体,则首先显示该窗体,当登录窗体返回不同ModuleResult值时,代表不同含义:

 ModalResult := mrOk;      //表示登录成功,显示主窗体

 ModalResult := mrCancel;  //表示登录失败,退出程序

当主窗体返回不同ModuleResult值时,也有不同含义:

ModalResult := mrOk;      //表示登出,关闭主窗体,显示登录窗体

ModalResult := mrCancel;  //表示退出程序

 

uniGUI有2种窗体模式,一种是AppForm,一种是FreeForm,前者由uniApplication进行实例管理,后者需要程序员自己管理。

AppForm需要先注册:

initialization 
  RegisterAppFormClass(TfrmWebxxx);

然后通过TUniGUIMainModule进行创建,代码示例如下:

var 
  frm : TfrmWebxxx; 
begin 
  frm := TfrmWebxxx(MainModule.GetFormInstance(TfrmWebxxx)); 
  frm.Show;

FreeForm不需要注册,同VCL中的窗体一样,可以直接创建,如:

var 
  frm : TfrmWebxxx; 
begin 
  frm := TfrmWebxxx.create(self); 
  frm.Show;

无论是AppForm还是FreeForm,在创建后都不需要手动释放,由系统自动释放。这不太符合Delphi的编程习惯,AppForm还说得过去,但FeeForm就有点不合适了,但是确实存在手工释放报错的情况,所以不建议在uniGUI中使用FreeForm。