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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]用demo制作DLL,VBA调用结果不对

   

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


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

主题:[求助]用demo制作DLL,VBA调用结果不对

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


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2019/1/5 20:04:24
[求助]用demo制作DLL,VBA调用结果不对  发帖心情 Post By:2019/1/8 22:20:33 [显示全部帖子]

1.在MyActiveXdemo中,改写mytest函数,如下:
int  VBSAddin::MyTest(int kaidan1, int kaidan2,int kaidan3)
{
kaidan1 = kaidan1 + 100;
kaidan2 = kaidan2 + 100;
kaidan3 = kaidan3 + 100;
return 100;
}
并在def模块中添加 EXPORT mytest @1,
其他均承袭demo,未作修改
2. 在VBA中调用方式如下:
Dim MyAddin 

Set MyAddin = CreateObject("DynamicWrapper")
 
MyAddin.Register"MyActiveXDemo.DLL","MyTest","i=ttt","f=s","r=t"
   
fanhui= MyAddin.MyTest(kaiduodan1,kaiduodan2,kaiduodan3)

3.打印结果
变量初始值均为1,运行后,fanhui为空,其余三个参数均未改变,都为1。确定的是函数有被调用运行,确定方法是在test中添加AfxMessageBox函数,能正确弹出窗口。

4.疑惑问题
理论上调用函数后,各个参数的值应该分别为100,101,101,101才对啊。那么,问题出在哪呢?

斑竹或路过大神帮帮忙啊,好焦虑,好捉急。这个问题卡了好几天了。。。

跪谢。。。

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


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2019/1/5 20:04:24
  发帖心情 Post By:2019/1/9 11:25:30 [显示全部帖子]

demo是用c++写的。可是,按您说的,我改成VARIANT* ,提示说语法不对啊。咋整?编译错误提示1002

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


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2019/1/5 20:04:24
  发帖心情 Post By:2019/1/9 22:06:11 [显示全部帖子]

无关c++问题。是按你说的,vba中改写成MyTest(VARIANT* kaidan1, VARIANT* kaidan2,VARIANT* kaidan3)  ,提示有语法错误

 回到顶部