[求助]ACTIVEX DLL 参数问题:调用的CALLBYNAME

landyjie 2012-09-10 03:58:19
VB建的ACTIVEX DLL工程:
Public Function my_ver()
my_ver = 1
End Function
Public Function my_callbyname(Object, ProcName, CallType, Args() As Variant)
my_callbyname = CallByName(Object, ProcName, CallType, Args())
End Function


VB建的 EXE工程:
MsgBox mydll.my_ver() '这个返回没问题
MsgBox CallByName(MYBEEP, "beep", 1, 1000, 1000) '这个也成功执行 第3个参数的1是Const VbMethod = 1
MsgBox mydll.my_callbyname(MYBEEP, "beep", 1, 1000, 1000)'这个就有问题了说什么:错误的参数号或无效的属性赋值

问什么EXE的第2条能执行第3条不能。应该怎么改?


下面是VB中CallByName函数原形:
Function CallByName(Object As Object, ProcName As String, CallType As VbCallType, Args() As Variant)
...全文
158 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
landyjie 2012-09-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

在dll里的自定义函数参数类型可能有误

Public Function my_callbyname(Object, ProcName, CallType, Args() as long)
[/Quote]

我的参数可不一定是long

有个关键字ParamArray 不知道有没有用,我已经从0到10个参数分别处理了
孤独剑_LPZ 2012-09-10
  • 打赏
  • 举报
回复
在dll里的自定义函数参数类型可能有误

Public Function my_callbyname(Object, ProcName, CallType, Args() as long)

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧