TC官方合作论坛

 找回密码
 立即注册
查看: 1646|回复: 2

[BUG反馈] 插件是不是不能在线程里调用

[复制链接]
发表于 2021-6-11 19:15:23 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我用懒人  在窗口初始化里打开word可以   在启动热键里打开可以   在线程里打开就不执行然后闪退好烦

回复

使用道具 举报

发表于 2021-6-12 10:47:55 来自手机 | 显示全部楼层
懒人办公。懒人数组和tc数组 的不兼容
  
问题:懒人办公插件,EXCEL功能区,
数据处理: 查找(),筛选()
这2个不是返回 "220|330|441|550|661" 格式的字符串,而是返回一个集合。
这是不科学的,只有ajjl能调用集合,其它编程工具(如tc,VC++,易语言) 调用集合就会崩溃,脚本报错。
  
懒人不肯像dm.dll一样,返回带分隔符的字符串,
例如返回 "220|330|441|550|661" 这种格式,ajjl用split(),tc用strsplit() 分割到数组;
这几个函数返回值,懒人是返回一个集合。
  
解决方法:
1,作者在帮助文档说了:想拉点赞助费。这样就好办,tc方面加懒人为好友,发个红包通融通融,就解决问题。
  
2,懒人作者是ajjl的人。这是编程语言之间竞争。这样就难办。
  
3,使用TC4.431。TC4.431支持函数返回集合,TC5.0和以上版本不支持集合。
  
feskar:
群主,懒人不是因为是按键的人不肯改。
上周我帮懒人大神测试了两天,在TC里面还是返回数组的命令不行.
如果把返回数组的改成返回字符串,会影响到之前的用户的脚本
=======================================================
剑仙十号:
@feskar
方法1:修改返回值的格式。
直接返回数组,这是不科学的。很多语言调用懒人COM,都会出问题。
dm返回"111|222|333|444|555|666",就用得很好。
脚本作者,更新特快的。
游戏基址一更新,作者马上就更新了。
游戏版本一更新,辅助也马上更新了。
  
方法2: 保持原命令不变,增加一个Ex命令。如 查找Ex(),筛选Ex()
var ret = 筛选Ex()
ret采用"111|222|333|444|555|666" 字符串的返回格式,就解决了问题。
.
=======================================================
feskar:
ret采用"111|222|333|444|555|666" 字符串格式,
这种格式在大多数情况下 是行得通的,但如果单元格内容本身就有 " | "这个字符就又要换了,毕竟这是办公方向的,会遇到各种字符。
其次像区域写,这种二维数组,参数用字符分隔的话,更麻烦
  
剑仙十号:
不使用" | "做分隔符,使用 "[{(" 做分隔符。
在办公使用中,大括号到中括号,中括号到小括号。顺序不能调错。
"[{(" ,这种三相连的括号 是不存在的。
对于区域写这种二维数组,增加个转整型(),转字符型() 就行了。
这不会影响执行效率。办公脚本也不追求执行效率。只要脚本稳定,多写几句代码也是值得的。
  
返回字符串的格式:
"111[{(222[{(333[{(444[{(555[{(666"
回复 支持 反对

使用道具 举报

发表于 2021-6-13 11:04:55 | 显示全部楼层
线程内部不要创建对象,在线程外部创建对象 再把对象传入线程内部
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-21 00:04 , Processed in 0.030938 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表