Reflection VB6-在引用的DLL中动态调用方法

Reflection VB6-在引用的DLL中动态调用方法,reflection,dll,vb6,invoke,Reflection,Dll,Vb6,Invoke,这个问题与这里的问题几乎相同: 除了我需要它在VB6。我记得在某个地方读到VB6支持ActivX模块的反射 我只想加载一个有效的VB6 DLL,调用一个名为“Say”的方法,并传递一个参数“Hello” 有人能提供一些与参考问题答案中的示例代码类似的示例代码吗 谢谢。您可以使用: 或者。您可以使用: 或者像鲍勃评论的那样,除了亚历克斯的回答之外,还有 Dim Obj As Object: Set Obj = CreateObject("Prog.Id") ' Just Do It! ' A r

这个问题与这里的问题几乎相同: 除了我需要它在VB6。我记得在某个地方读到VB6支持ActivX模块的反射

我只想加载一个有效的VB6 DLL,调用一个名为“Say”的方法,并传递一个参数“Hello”

有人能提供一些与参考问题答案中的示例代码类似的示例代码吗

谢谢。

您可以使用:

或者。

您可以使用:


或者像鲍勃评论的那样,除了亚历克斯的回答之外,还有

Dim Obj As Object: Set Obj = CreateObject("Prog.Id")
' Just Do It! 
' A runtime error will occur if the object does not have a suitable method. 
Obj.Say("Hello")

除了亚历克斯的回答,正如鲍勃所评论的

Dim Obj As Object: Set Obj = CreateObject("Prog.Id")
' Just Do It! 
' A runtime error will occur if the object does not have a suitable method. 
Obj.Say("Hello")

您不需要使用CallByName,只要在编译时知道其名称,就可以继续调用后期绑定方法?在参考资料中?在提供的两个答案中,我都被“运行时错误‘429’:ActiveX组件无法创建对象”所困扰。需要注册DLL(作为admin;regsvr32“c:\xxx\zzz.DLL”),然后您可以使用CreateObject访问DLL中的ProgID(ProgID=DLL中COM自动化对象的名称,例如“MyDLL.SomeClass”)您不需要使用CallByName,只要在编译时知道其名称,就可以继续调用后期绑定方法?在参考资料中?在提供的两个答案中,我都被“运行时错误'429:ActiveX组件无法创建对象”所困扰。DLL需要注册(作为admin;regsvr32“c:\xxx\zzz.DLL”),然后您可以使用CreateObject访问DLL中的ProgID(ProgID=DLL中COM自动化对象的名称,例如“MyDLL.SomeClass”),因此“Prog.Id”是我的DLL的路径吗?如果是这样,CreatObject会接受字节数组而不是路径吗?那么“Prog.Id”将是指向我的DLL的路径?如果是这样,CreatObject会接受字节数组而不是路径吗?