• 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。

     

  • 相关阅读:
    珠海洪锐在线监测agent_linux系统
    python中的不定长参数
    记一次刻苦铭心得安装zabbix经历
    狼书第三章Jinja2模板总结
    关于消息闪现的问题
    了解HTTP状态码
    关于用Flask建立一个简单的web应用
    将模块安装到Site-packages
    在Centos6中安装python3.6
    unity 生成缩略图 , 图片缩放
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/13785540.html
Copyright © 2020-2023  润新知