MsgBox My.RunDll("mathadd", 1, 33) 得到的结果是34 Private Declare Function mathadd Lib "dll5" (ByVal a As Long, ByVal b As Long) As Longdll5是一个dll,dll5.dll,mathadd是一个加法的函数,调用方法就是:My.RunDll("mathadd", 1, 33),后面的参数1,33是动态有,需要时可以输入3个,5个都有行。
Private Declare Function mathadd Lib "dll5" (ByVal a As Long, ByVal b As Long) As Long MsgBox mathadd(1, 33) 这个是一般的用法,我上面的方法是可以不声明的情况下调用任何DLL,不需要把DLL解压到硬盘,直接在内存中加载DLL二进制然后就执行里面的输出函数。
com 口的 我过几天在研究吧
com接口你就不应该这样问,你应该问“vb6.0 怎么调用 com 组件 最好给个例子” 在VB中调用 COM 组件至少有三种方法 1、在工程中引用组件,如果组件尚未注册,还可以通过浏览文件选择dll文件的方式引用组件,这个过程会自动完成组件的注册过程。然后在程序里定义变量时便可定义为你的组件类型。只要通过 new 语句初始化好对象实例,通常就能正常使用了。 2、通过 CreateObject 函数动态创建 COM 组件对象,在 ASP 里访问数据库或用 FSO 对象处理文件都是用这种方法,这种方法无需在工程中引用组件变可动态调用组件,只要知道组件类名就可以。 3、通过 COM 模型方式动态调用组件,这种方法很少人用,通常是通过COM组件的 GUID 来取得模型,主要是通过IUnknown与IDispatch来实现对象的访问控制,其实VB的Object也是封装了这些东西的处理过程而已。所以很少有人在VB里这么用,只有在一些特殊接口时才有可能碰到IUnknown这样的应用。
COM?API?还是 ISAPI 什么的?
DLL只是个文件扩展名,虽然通常都有入口函数,但根据功能架构的不同,使用方法也不同,就比如ISAPI接口和COM接口的DLL,虽然也都是提供了公共API的DLL,但他们有自己相应的接口函数与规范,如果不按照规范接口调用也是用不起来的,即使是API接口的DLL都还有函数申明才能与其接口,这不是应用程序,用鼠标点两下就能直接运行的应用程序,这时接口库,要讲究接口的。
得到的结果是34
Private Declare Function mathadd Lib "dll5" (ByVal a As Long, ByVal b As Long) As Longdll5是一个dll,dll5.dll,mathadd是一个加法的函数,调用方法就是:My.RunDll("mathadd", 1, 33),后面的参数1,33是动态有,需要时可以输入3个,5个都有行。
MsgBox mathadd(1, 33)
这个是一般的用法,我上面的方法是可以不声明的情况下调用任何DLL,不需要把DLL解压到硬盘,直接在内存中加载DLL二进制然后就执行里面的输出函数。
我过几天在研究吧
在VB中调用 COM 组件至少有三种方法
1、在工程中引用组件,如果组件尚未注册,还可以通过浏览文件选择dll文件的方式引用组件,这个过程会自动完成组件的注册过程。然后在程序里定义变量时便可定义为你的组件类型。只要通过 new 语句初始化好对象实例,通常就能正常使用了。
2、通过 CreateObject 函数动态创建 COM 组件对象,在 ASP 里访问数据库或用 FSO 对象处理文件都是用这种方法,这种方法无需在工程中引用组件变可动态调用组件,只要知道组件类名就可以。
3、通过 COM 模型方式动态调用组件,这种方法很少人用,通常是通过COM组件的 GUID 来取得模型,主要是通过IUnknown与IDispatch来实现对象的访问控制,其实VB的Object也是封装了这些东西的处理过程而已。所以很少有人在VB里这么用,只有在一些特殊接口时才有可能碰到IUnknown这样的应用。