myadmin 发表于 2023-5-8 23:40:28

求指教,组件读取哪种方式效率更高?



如上所述,要在线程中读取数据,有3种方式读取超级列表框中的数据,哪一种方式更效率呢?请大佬指教?

glbosom 发表于 2023-5-8 23:44:32

微乎其微的差别吧

雨中漫步 发表于 2023-5-8 23:44:41

本帖最后由 雨中漫步 于 2023-5-9 11:08 编辑

差不多

glbosom 发表于 2023-5-8 23:46:10

第三种和第一种比就多了一步克隆

创世魂 发表于 2023-5-9 07:59:49

没啥差别。

wangvoldp 发表于 2023-5-10 02:07:42

第一种应该也得取好几次类的this才能调用到那个方法
第二种最快 取出this 调用call 两步就调用了 汇编两行搞定
第三种用在窗口组件还行,如果用到自定义类就看情况了,火山没有参考类型,局部变量的定义,会先构造出这个类,然后取出的类会复制进到这个局部变量,例子中你用了的是超级列表框组件,这个组件里并没存太多的数据,主要存放组件的句柄,所以复制也主要复制的句柄,也浪费不了什么
但如果是取一个自定义类,因为里面成员越多效率越低(局部变量要构造并复制数据),如果是类中类那就更不好说了,总之火山没参考是一大短板
我目前都是靠写一堆 取这 取那 一长行才能取出, 因为一但取到局部变量, 他就成了复制品而不是真正的数据了
下面是一个自定组件的取值写法,愁的一批, 有参考何苦这么难受,俗话说爱他就要爱他的全部
取程序().主窗口.分组列表组件.元素组.取成员(1).元素组.取成员(2).添加按钮.标题 = "添加"
取程序().主窗口.分组列表组件.元素组.取成员(1).元素组.取成员(2).添加按钮.可视 = 真
取程序().主窗口.分组列表组件.元素组.取成员(1).元素组.取成员(2).删除按钮.标题 = "删除"
取程序().主窗口.分组列表组件.元素组.取成员(1).元素组.取成员(2).删除按钮.可视 = 真
................................................................................
要是有参考了 看下面多简单
参考 分组列表框 临时 = 取程序().主窗口.分组列表组件.元素组.取成员(1).元素组.取成员(2)
临时.添加按钮.标题 = "添加"
临时.添加按钮.可视 = 真
临时.删除按钮.标题 = "删除"
临时.删除按钮.可视 = 真

如果没参考,即使不考虑效率情况下使用局部变量, 类里的一些属性,他根本指向的不是真实的数据,修改了也白修改,取也取不出,非得写一堆堆取取取取取取取取取取取取取取取取取取取取取取取取取取取取

alexqj 发表于 2023-7-15 22:52:24

wangvoldp 发表于 2023-5-10 02:07
第一种应该也得取好几次类的this才能调用到那个方法
第二种最快 取出this 调用call 两步就调用了 汇编两行 ...

现在很少见到这样吹毛求疵的了
赞一个

szy2870 发表于 2023-7-16 00:33:57

为是什么易语言有参考而火山没有?
页: [1]
查看完整版本: 求指教,组件读取哪种方式效率更高?