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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助] vba如何实现向activex组件正确传递数组?

   

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


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

主题:[求助] vba如何实现向activex组件正确传递数组?

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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2017/3/13 14:34:13
[求助] vba如何实现向activex组件正确传递数组?  发帖心情 Post By:2018/4/16 10:44:15 [显示全部帖子]

//vba代码

 

dim newprice(10) '定义一个一维数组,里面有10个浮点型数值
Dim MyAddin '创建一个变量

Set MyAddin = CreateObject("MyActiveXDemo.VBSAddin")

       MyAddin.ArrTest5(newprice)

 

//------------------------------------------

 

//c++编写的VBSAddin

//ArrTest5是用来接收这个数组,并把数组的第一个值显示出来。

 

LONG VBSAddin::ArrTest5(VARIANT &arr)
{
 AFX_MANAGE_STATE(AfxGetStaticModuleState());

 

 

// 接收模块。目的: arr=newprice ,请问接收代码怎么写?

//接收代码:  ................................

 

//显示模块,显示数组的第一个值

    CString strValue;
            strValue.Format(L"%f",arr[0]);
             AfxMessageBox(strValue);

 

 

//求助!这个问题已经花了我好几天的时间了,网上的资料太少,只是说通过VARIANT 结合SAFEARRAY 来实现。但到现在还是不知道该如何实现

 

 return 0;
}

 

[此贴子已经被作者于2018/4/16 10:45:22编辑过]

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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2017/3/13 14:34:13
  发帖心情 Post By:2018/4/16 10:46:19 [显示全部帖子]

在线等,急,谢谢各位老师!

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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2017/3/13 14:34:13
  发帖心情 Post By:2018/4/16 10:50:09 [显示全部帖子]

LONG VBSAddin::ArrTest5(VARIANT &arr)   //这一行这样写是否有问题?

 

本人用的是 visual studio 2012 来写这个ActiveX组件

 

[此贴子已经被作者于2018/4/16 10:51:08编辑过]

 回到顶部