zoukankan      html  css  js  c++  java
  • LifeCycles属性

    不记得是哪一个版本,增加了TFieldLifeCycle = (lcAutomatic,lcPersistent ),字面意思是“字段生命周期”,

    lcAutomatic:表示TField是运行期自动生成的

    lcPersistent:表示TField对象是持久性的

    然后,为字段TField增加了LifeCycles属性,同样,TFields也增加了LifeCycles属性。

    在docwiki中,为TField是这样写的:

    指定该字段是动态生成的,还是持久化的,

    为TFields是这样写的:

    使用LifeCycles指定TFields是否含有动态生成的和/或持久化的字段。

    lcAutomatic如果TFields中至少有一个自动字段,则LifeCycles包含该值。

    lcPersistent如果TFields中至少有一个持久化字段,则LifeCycles包含该值。

    不得不说,官方文档写的没毛病,但实践中,怎么理解并使用这个LifeCycles呢?

    当我们在设计期,在字段编辑器中为一个TDataSet建立好字段,那运行的时候,这些字段的LifeCycles属性值为lcPersistent,当你关闭TDataSet,这些字段对象不会被释放。

    如果设计期不建立字段,而是在运行期建立的字段,那么LifeCycle值为lcAutomatic,当Close关闭数据集时,字段对象被释放。可能你要问,什么样的TDataSet是在运行期建立字段呢?执行查询的数据集,比如,ADOQuery,kbmMWClientQuery。

     

  • 相关阅读:
    ROXFiler 2.6
    ubuntu下lxr的运用
    NTFS3G-Linux 的 NTFS 驱动步骤
    Songbird 0.2.5 Final
    ePDFView:一个轻量的 PDF 文档阅读东西
    Gmail Notifier:又一个 Gmail 邮件通知法式
    Hybrid Share-文件分享软件
    Dolphin:KDE 中的文件管理器
    文泉驿点阵宋体 0.8(嬴政)正式公布
    KDE 4 Kludge 发布宣布
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/13785540.html
Copyright © 2011-2022 走看看