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。

     

  • 相关阅读:
    数组中的趣味题二
    数组中的趣味题一
    归并排序
    堆内存与栈内存
    c++中的继承和组合
    直接插入排序
    NYOJ 1067 Compress String(区间dp)
    C++ Primer 学习笔记与思考_7 void和void*指针的使用方法
    ucgui界面设计演示样例2
    手机无法连接电脑的手机助手
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/13785540.html
Copyright © 2011-2022 走看看