• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[神梦] 【解决】子程序参数不支持传入返回对象变量问题 [复制链接]

1#

大家有没有发现在按键精灵里

把对象变量传入子程序里,会报错!



函数返回对象类型,也会报错!



我找到了老狼的解决办法:[点击查看]

我自己又研究了另外一种思路实现传递对象



传入【解决办法】
 


把对象包装一下,再传递进入就完美解决
这里我们用数组为对象变量的保护套

  1. Dim 对象

  2. Set 对象 = Me
  3. TracePrint TypeName(对象)
  4. 对象.g_iSimulateModeInVBSBlock = 2

  5. Call 子程序_传对象 (Array(对象))


  6. Function 子程序_传对象(参数)
  7.     Dim obj
  8.     set obj = 参数(0)
  9.     TracePrint TypeName(obj)
  10.     TracePrint obj.g_iSimulateModeInVBSBlock
  11. End Function
复制代码





返回【解决办法】

 


同理,返回时也用数组包装一下就好了

  1. Set 返回对象 = 函数_返回对象()(0)
  2. TracePrint TypeName(返回对象)
  3. TracePrint 返回对象.GetDateTime()


  4. Function 函数_返回对象()
  5.     Dim obj
  6.     Set obj = CreateObject("QMPlugin.Sys")
  7.     TracePrint TypeName(obj)
  8.     TracePrint obj.GetDateTime()
  9.     函数_返回对象 = Array(obj)
  10. End Function
复制代码

最后编辑神梦科技 最后编辑于 2022-03-19 16:15:28
2#

1255577

3#

看看怎么解决的

4#

476+6

5#

看看怎么解决的

6#

qqqqqqq

7#

ˊˊˊˊˊˊˊˊˊ6666666666666666

8#

哦哦

9#

解决办法 学习

10#

无敌了

666666666666666666666666666666666

11#

谢谢分享,学习学习.

12#

666666666666666666

13#

传入的数组是不是也不能改变内容

14#

我看看老哥的

15#

学习学习

16#

来看看解决办法

17#

学一下看看

18#

123165

19#

感谢分享啊~~~~~~~~~~~

20#

看看~~~~~~~~~~~~~~~

发新话题 回复该主题