【一起学UniGUI】--UniGUI的窗体和模块(8)

(六)、数据模块(DataModules):

       uniGUI支持向项目中添加数据模块(DataModules)。它允许开发人员像标准VCL应用程序那样设计他们的应用程序,将应用程序业务逻辑划分为几个数据模块。需要记住的重要一点是,虽然uniGUI数据模块与标准VCL数据模块在本质上是相同的,但是当使用uniGUI向导创建它们时,它们将为每个会话自动管理(其生存期将与会话本身相同)。如果使用标准IDE创建数据模型,则开发人员须要在适当的时候创建并释放它,并且有可能还是各会话共用(如果开发者不额外处理的话),须解决多会话间冲突问题。

      uniGUI中有两种类型的数据模块。 分别为:应用程序数据模块(Application DataModule) 与 自由数据模块(Free DataModule)。在下面的章节中,我会分子类进行讲述。

1)、应用程序数据模块(Application DataModule)

     应用程序数据模块(Application DataModule)是一个由uniGUI在运行时额外自动生成的,有如下几个特点:

  • 它在应用程序运行初始化时注册生成的
  • 它是在每个会话的开始或按需创建的(依据属性MainModule.ApplicationDataModuleOptions.CreateOnDemand),一个会话对应一个
  • 如果用户不手动释放(使用Free),则在关闭某对应会话时会相对应的自动释放(属于A会话的,在A会话关闭时,会自动释放A对应的应用程序数据模块)

       需要额外数据模型的小型应用程序(比如,多个MainModule)可能会使用缺省值(CreateOnDemand=False),但是大型应用程序将享受更好的内存管理,可以按需创建数据模型(并尽快释放它们)。

这是应用程序中DataModule自动生成的代码:

unit _AppDM1;
 
interface
 
uses
  SysUtils, Classes, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param,
  FireDAC.Stan.Error, FireDAC.DatS,&n

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值