先驱社区

先驱强制更新版本后,通过CQ转XQ插件加载原CQ插件崩溃

  • 操作系统:win server 2012 R2
  • 原XQ版本:2020081801
  • 现XQ版本:2020121201(尝试过最新的发行版未果,这是测试版)

故障现象:经过尝试,运行先驱主程序可用-加载CQ转XQ插件后可用-加载原CQ插件时提示已停止工作

在原版本是可用的,未修改过原CQ插件代码,log文件夹里无错误日志,运行日志如下:

2020-12-13 0:9:53  程序开始运行(4592)...
2020-12-13 0:9:53  程序初始话化A...
2020-12-13 0:9:53  程序初始化B...
2020-12-13 0:9:53  程序初始化C...
2020-12-13 0:9:53  程序初始话D...
2020-12-13 0:9:54  窗口初始化A...
2020-12-13 0:9:54  窗口初始化B...
2020-12-13 0:9:55  窗口初始化C...

然后即崩溃,原CQ插件是用CQ sdk自己开发的一个工具,主要功能是 收到QQ消息后 wke填表然后发送的一个工具,运行时要先加载一个窗口,估计是加载这一步的时候崩溃了,求大佬解决!万分感谢!

建议把工具放出来以供排查问题,这应该并不是由软件引起的,所给信息也不足以进行排查。

感谢大佬的回复,工具内容主要是学校每天要进行健康打卡,然后通过网页查看未打卡名单,手机端操作很不友好,就写了个工具,收到命令以后处理发到QQ里,因为性质的原因可能不太好上代码和插件本身,我回头尝试下把可以放出来的截图到帖子后面,再次感谢大佬/手动玫瑰:rose:

你是通过 CQXQ 桥接的插件吗?可以尝试依次停用 CQ 插件和 CQXQ 桥接器两个进行二分法排查问题。

对的,是通过桥接的方法,尝试的结果应该是我自己的工具报的错,单独启动桥接插件不加载我的工具不崩溃,奇怪的是为什么上个版本不会崩溃这个版本崩溃了:sob:

程序启动部分的代码,用的是旧的酷Q的sdk


窗口里有个精易web浏览器

窗口创建完毕不会触发任何命令

全局变量只有两个

用的精易模块8.0.0;酷Q SDK 9.25,精易web浏览器支持库1.3

有个现象是,当我不在根目录放置node.dll的时候,启动插件的时候提示我放node

然后提示禁止多线程调用

接着整个程序进程直接没了,如果放了node.dll这个时候就会提示已停止服务

wke_设置dll路径 (取运行目录 () + “\bin\node.dll”)

调用格式: 〈无返回值〉 wke_设置dll路径 (文本型 dll路径) - 精易Web浏览器->精易web浏览器
英文名称:wke_setDllPath
设置node.dll的完整路径,如果程序运行目录下没有node.dll,则必须在窗口载入之前调用,如果程序运行目录下有node.dll可以忽略该命令,默认会从目录下加载。本命令为初级命令。
参数<1>的名称为“dll路径”,类型为“文本型(text)”。node.dll的完整路径。

操作系统需求: Windows

同样会提示错误image ,我尝试把精易web浏览器更新到了最新的1.6版,也分别尝试了用先驱的node库,同时用最新的库,都未果

wke_设置dll路径 (取运行目录 () + “\bin\node.dll”)

如果程序运行目录下没有node.dll,则必须在窗口载入之前调用

大佬我们偏题啦,我把它放到主程序目录下是没问题的,现在的问题是加载这个插件就提示“先驱机器人已停止服务” :rofl:

我怀疑可能是精易web浏览器的兼容问题,想请问下开发团队在上个版本到这个版本对浏览器这部分做了什么修改,因为我记得上一个版本点关于页面的话是没有内容的,这个版本弹出了相关协议

解决完回更:经管理大大提醒后发现之前已停止服务的原因是加载了两个node.dll(主程序一个,我的插件一个)用了上述的命令更改dll路径后已经解决,但随之而来的是提示多线程调用,这个经过各种尝试均无解,估计是酷Q插件兼容先驱插件的插件需要重写,无奈作者已经弃坑,于是最终的解决方法只有把自己的插件用先驱SDK重写一下。亲测不提示多线程调用,完美解决。
本贴提示用原有酷Q插件的用户们,如果你的插件中用到了精易web浏览器,那么极可能出现这种情况,可以尝试下更改dll路径,如果最后提示多线程调用,那么就说明插件需要更换平台了,酷q老插件还是兼容性不好。