KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 54|回复: 7

检查def中定义的方法参数与脚本中定义的方法参数功能报错

[复制链接]

9

主题

34

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
发表于 2019-1-6 18:53:10 | 显示全部楼层 |阅读模式
从kbe 2.2.4 升级到 2.3.5,在2.2.4版本下运行正常,改2.3.5版本后报错。

1、UserEmail.def 下定义的方法
<BaseMethods>
        <e_insertEmail>
2、Account.def继承了UserEmail
<Interfaces>
        <Interface> UserEmail </Interface>

3、同样脚本里Account里也继承了UserEmail
class Account(KBEngine.Proxy,
                          UserEmail,
4、我在UserEmail.py里定义的方法
def e_insertEmail(self, ...

难道是因为脚本里的方法没在Account.py里定义所以查询不到脚本里方法的参数个数吗
麻烦kbe大神帮忙看下

本帖子中包含更多资源

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

x
回复

使用道具 举报

5

主题

3925

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-7 11:35:32 | 显示全部楼层
应该是说你参数有问题
QQ:3603661
3603661@qq.com
回复

使用道具 举报

9

主题

34

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
 楼主| 发表于 2019-1-7 17:34:26 | 显示全部楼层
柯标 发表于 2019-1-7 11:35
应该是说你参数有问题

参数没问题的,看我上面截的图,这个函数我在def里定义了7个参数,源码调试显示的是7个参数没错
同样,我在python脚本里定义的也是7个参数,但是源码调试显示的却是0个参数
我猜测是因为该方法在python脚本里我是在Account的父类里定义,所以导致找不到,从而判断为0个参数
我注释掉 启动时的检查 后运行是可以成功调用 e_insertEmail 方法的
回复

使用道具 举报

5

主题

3925

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-7 19:26:17 | 显示全部楼层
你几个调用都是直接调用python的接口判断的, python获得的脚本参数数量就是0

你搜一下脚本是不是写了多个这个方法造成的覆盖。
QQ:3603661
3603661@qq.com
回复

使用道具 举报

9

主题

34

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
 楼主| 发表于 2019-1-7 19:42:18 | 显示全部楼层
全局搜索看以下截图,只有一处定义

本帖子中包含更多资源

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

x
回复

使用道具 举报

5

主题

3925

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-7 20:22:05 | 显示全部楼层
你在这个demo加点代码, 然后重现给我, 打包发上来我调试看看
https://github.com/kbengine/kbengine_demos_assets
QQ:3603661
3603661@qq.com
回复

使用道具 举报

9

主题

34

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
 楼主| 发表于 2019-1-7 20:41:54 | 显示全部楼层
本帖最后由 shely 于 2019-1-8 09:29 编辑
柯标 发表于 2019-1-7 20:22
你在这个demo加点代码, 然后重现给我, 打包发上来我调试看看
https://github.com/kbengine/kbengine_demo ...

查出来了,是脚本里定义的函数我又加了自定义的装饰器导致的
@decDBUserEamil
def e_insertEmail(self, senderId, e_mailType, title, content, itemType, itemNum, perfmcValue):

这个装饰器对函数进行了再次封装,是有用的不能删除。我先临时注释掉检查功能吧后期会完善这块吗?


回复

使用道具 举报

5

主题

3925

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2019-1-8 09:56:14 | 显示全部楼层
很快要支持用装饰器def实体了, 到时会考虑
QQ:3603661
3603661@qq.com
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2019-1-19 10:32 , Processed in 0.034718 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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