金蝶基础与类(KFO)及其应用 .ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
金蝶基础与类(KFO)及其应用

应用集成部 KFO的对象模型 数据打包对象 Dictionary对象 DictWord对象 Vector对象 LinkedList对象 Node对象 IDMap对象 MapWord对象 ISortHelper接口 Dictionary对象特点 Dictionary对象是一个数据字典 字典里可以存放不同的变量,它可以是任一个单值变量,也可以是一个对象。 在Dictionary对象中主要通过变量名称来进行索引的。 Dictionary对象可以进行跨进程调度,跨进程调度可以采用值拷贝调度和引用调度 Dictionary对象支持系列化和持久化 Dictionary对象的属性 Dictionary对象的方法 方法 Function Clone() As Dictionary Function GetValue(Name As String, [Default]) As Variant Function Lookup(Name As String, [Value]) As Boolean Sub Remove(Name As String) Sub RemoveAll() Sub ResetModified() Sub Append(pDict As Dictionary,ByVal bCloneObject As Boolean) Sub InitMaxCount(nMaxCount As Long) Function CloneAll() As Dictionary Function Load(Source) As Boolean Function Save(Dest) As Boolean Vector对象的特点 Vector对象相当于一个不定长的向量数组 每一个元素可以是任一个单值变量,也可以是一个对象 在Vector对象中主要通过索引来进行数据访问的 Vector对象可以进行跨进程调度,跨进程调度可以采用值拷贝调度和引用调度 Vector对象支持系列化和持久化 Vector对象的属性 Vector对象的方法 LinkedList对象的特点 LinkedList对象相当于一个单线链表 每一个节点可以是任一个单值变量,也可以是一个对象 在LinkedList对象中主要通过索引或节点前后关系来进行数据访问的 LinkedList对象可以进行跨进程调度,跨进程调度可以采用值拷贝调度和引用调度 LinkedList对象支持系列化和持久化 LinkedList对象的属性 LinkedList对象的方法 Node对象的属性和方法 IDMap对象的特点 IDMap对象是一个数据字典 字典里可以存放不同的变量,它可以是任一个单值变量,也可以是一个对象 在IDMap对象中主要通过一个整数值来进行数据访问的 IDMap对象可以进行跨进程调度,跨进程调度可以采用值拷贝调度和引用调度 IDMap对象支持系列化和持久化 与Dictionary对象的区别就在于Dictionary用名称访问变量,而IDMap实用一个整数值访问元素变量的 IDMap对象的属性和方法 ISortHelper接口 ISortHelper接口是一个辅助的接口,需要开发人员自己实现 ISortHelper接口对象应用于Vector对象的Sort、BSearch、Search以及LinkedList对象的Search方法 对于Vector对象的Sort、BSearch、Search以及LinkedList对象的Search方法,如果调用过程中没有制定具体的ISortHelper实现,则采用系统默认的单值比较大小关系,但是我们建议采用自己实现的ISortHelper,实现自己真正意义上的大小比较 仅有一个方法需要实现: Function Compare(Item1, Item2) As Long 当Item1 “大于” Item2时返回大于0的数,如1 当Item1 “等于” Item2时返回等于0的数,如0 当Item1 “小于” Item2时返回小于0的数,如-1 示例一 Dictionary对象打包数据的性能问题 以前的性能问题:Dictionary对象在打包数据在20000个以内时,人的感觉是能够接受的,但超过20000个时,明显的感觉很慢,数据越大,所需要的时间,特别是在记录集转化成指数函数的方式迅速递增为KFO的Dictionary对象时 解决的办法:应用InitMaxCount方法和Repeated属性 InitMaxCount方法:如果需要打包的数据个数超过20000个,最好先调用InitMaxCount方法,预先一次性分配内存,以提高内存分配的速度。在结合应用Repeated属性,大包的数据速度成几十上百乃上千的倍数提高具体倍数与打包的数据量有关,数据量

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档