Delphi启动程序的一般步骤

用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.

 

posted @ 2009-05-18 15:25  东子1573  阅读(1001)  评论(5编辑  收藏  举报