用Delphi开发数据库应用,一般会涉及到闪屏(Splash/封面/Logo)、登录窗口、主数据模块(或主数据库连接)以及主窗口。
看到过不小新手在写的时候,所有form和DataModule全部自动生成,主窗口为第一窗口,在主窗口的OnCreate/OnShow/OnActive/中显示Splash/显示登录窗口等…
这明显是不明智的。由于创建先后的关系,谢谢经常会出现AV错误。
说说以上几个窗口(或模块的作用):
Splash Window:闪屏或封面或LOGO窗口,系统启动后第一个显示的窗口,显示一下LOGO信息。目前很多人会放一个很PP的动画之类,然后sleep几秒. 失去了他的作用。看Photoshop/PDF Reader等,启动时显示这个窗口在做什么?他会加载许多插件,而且这个时间比较长。如果没有窗口来显示加载进度,可能用户会等的不耐烦:这个软件怎么这么慢呢?所以,除了显示一个图片以显示自己专业(目前主流软件貌似都有)之外,还有一个就是在显示这个窗口的时候加载必需的资源,创建需要创建的窗口,连接相应的服务器,检查相关的更新等。
登录窗口:这个就不用说了。系统需要登录后才能操作,所以必须要在使用前登录。
主数据模块:或主数据库连接。这个可能是所有窗口都要用到的(比如登录窗口就可能会用到),这也就需要在登录前初始化好(当然也可以使用时才初始化)
下面推荐一个我常用的启动过程的代码:
//Test.DPR //CopyRight(c) Hydonlee, 转载请注明出处 var frmMain: TfrmMain; dmMain: TdmMain; begin Application.Initialize; //显示封面 SplashF.Show; try //创建需要的资源 Application.CreateForm(TdmMain, dmMain); Application.CreateForm(TfrmMain, frmMain); //...其它 finally SplashF.Close; end; //登录 if LoginF.Login() then Application.Run; end.
CopyRight(c) Hydonlee, 转载请注明出处