uniGUI试用笔记(四)
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。