欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 目前不支持PY模块向VBA返回数组,这个可否优化?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5404人关注过本帖树形打印复制链接

主题:目前不支持PY模块向VBA返回数组,这个可否优化?

帅哥哟,离线,有人找我吗?
分析者
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
目前不支持PY模块向VBA返回数组,这个可否优化?  发帖心情 Post By:2020/4/18 8:39:39 [只看该作者]

目前不支持PY模块向VBA返回数组,这个可否优化?

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2020/4/20 10:38:58 [只看该作者]

后面版本考虑增加

 回到顶部
帅哥哟,离线,有人找我吗?
分析者
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
  发帖心情 Post By:2020/5/24 14:11:50 [只看该作者]

V5.30 【beta2】 支持该功能了吗?
[此贴子已经被作者于2020/5/24 14:12:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2020/5/25 15:23:27 [只看该作者]

已经支持

 回到顶部
帅哥哟,离线,有人找我吗?
分析者
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
  发帖心情 Post By:2020/5/25 18:29:01 [只看该作者]

那么,请问:
1、如何使用,没看到范例呢?没有例子,不知道咋用啊。
2、测试发现存在BUG,  Data = d.CallObject("zhibiao_vba",123,456)'调用PY模块中的函数,py模块中接受到的参数是错误的。

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2020/5/25 18:43:16 [只看该作者]

请具体描述一下错误现象,具体怎么是错误的? 


 回到顶部
帅哥哟,离线,有人找我吗?
分析者
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
回复:(无为剑)请具体描述一下错误现象,具体怎么是...  发帖心情 Post By:2020/5/26 11:00:36 [只看该作者]

如下是窗口输出
Result:-1979711488.0
10:58:33 > -1979711488
10:58:33 > -1.6259745436952323e-260

如下是PY函数和VBA调用函数

#函数,供VBA调用,计算指标
def zhibiao_vba(x1,x2):
    print(x1)
    print(x2)
    return str(x1+x2)

'调用py模块
sub Test
       '创建外部对象,启用Python引擎
       'Set d = CreateObject("Stock.Python")
       '载入Python模块,模块名为MyPython
       'ret = d.ImportModule("jzt_MyPython1")
       If ret <> 1 Then   '当载入失败,打印错误原因
          Msg = d.GetErrorInfo()
          Application.MsgOut Msg
          Set Msg = Nothing'使用完毕需要 Set Nothing销毁以免出现内存泄漏
          Exit Sub
       End If
       ''调用PY模块中的函数,并获取返回值
       xyz1=1
       Data = d.CallObject("zhibiao_vba",123,456)'调用PY模块中的函数
       If IsEmpty(Data) Then '当py模块返回为空
          Msg = d.GetErrorInfo()
          Application.MsgOut Msg
          Set Msg = Nothing'使用完毕需要 Set Nothing销毁以免出现内存泄漏
          Exit Sub
       End If
       '打印返回值
       application.MsgOut "Result:"&Data
       'Set d = nothing'使用完毕需要 Set Nothing销毁以免出现内存泄漏
end Sub
[此贴子已经被作者于2020/5/26 11:02:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
分析者
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
  发帖心情 Post By:2020/5/26 11:01:09 [只看该作者]

另外,可提供PY模块向VBA返回数组的例子吗?

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2020/5/26 11:25:42 [只看该作者]

我们用你给你的范例,在BETA2版本上测试正常

 回到顶部
帅哥哟,离线,有人找我吗?
分析者
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:319 积分:0 威望:0 精华:1 注册:2015/11/1 14:20:16
  发帖心情 Post By:2020/5/26 11:46:53 [只看该作者]

那就怪了,我用的金字塔X64,V5.30 BETA1  测试就这样,要BETA2吗?
[此贴子已经被作者于2020/5/26 11:47:08编辑过]

 回到顶部
总数 24 1 2 3 下一页