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。

     

  • 相关阅读:
    2017ccpc全国邀请赛(湖南湘潭) E. Partial Sum
    Codeforces Round #412 C. Success Rate (rated, Div. 2, base on VK Cup 2017 Round 3)
    2017 中国大学生程序设计竞赛 女生专场 Building Shops (hdu6024)
    51nod 1084 矩阵取数问题 V2
    Power收集
    红色的幻想乡
    Koishi Loves Segments
    Wood Processing
    整数对
    Room and Moor
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/13785540.html
Copyright © 2011-2022 走看看