当前位置:编程学习 > VB >>

vb如何调用vb写的dll

是不是有两种方法:

1,调用dll当中的函数用下面这种方式声明后就可以用
Private Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)

2,调用dll当中的类的话用creatobject(xxx.dll)就可以

我的理解有没有问题? --------------------编程问答-------------------- 自己丁以下 --------------------编程问答-------------------- 1:对于VB编写的DLL来说,不对.

因为VB编写的DLL是ActiveX DLL,不是标准DLL.

2:方向正确.不过目标DLL首先要是被正确注册了的,其次,需要知道服务器名与类名,例如:

set xx=CreateObject("Project1.Class1") --------------------编程问答-------------------- VB本来是不能写动态链接库的,但是可以用第三方插件或者其他办法来解决这个办法。
我觉得写出来的DLL稳定性不高。想导出1+1=2之类的函数还可以,一旦函数非常复杂的话,就很容易出问题。建议还是用C/C++写比较好。
一定要用VB写的话,用一般的声明方式就行了。
Private Declare Function Func Lib "VBDll.dll" (Byval a as Long,Byval b as Long)As Long
--------------------编程问答--------------------
引用 3 楼  的回复:
VB本来是不能写动态链接库的,但是可以用第三方插件或者其他办法来解决这个办法。
我觉得写出来的DLL稳定性不高。想导出1+1=2之类的函数还可以,一旦函数非常复杂的话,就很容易出问题。建议还是用C/C++写比较好。
一定要用VB写的话,用一般的声明方式就行了。
Private Declare Function Func Lib "VBDll.dll" (Byval a as Long,By……

不是这种DLL不稳定,而是因为一些编码方式越过了VB6保姆的范围,例如字符串参数的传递,涉及到了指针.

在VB6下面编码的同学们一般来说对指针是比较陌生的,因此不少人没办法将这种改造过的DLL写好.

我写过的一个VB6插件就可以方便地为DLL添加导出函数,但函数内的代码需要编码者自己把握好分寸.

参考:

http://www.m5home.com/bak_blog/article/581.html --------------------编程问答-------------------- VB编写的dll一般都是对象库,而非标准dll(一些特殊工具可以生成标准dll),使用之前,必须在工程-引用菜单中添加入引用,然后,代码中创建对象,通过对象进行操作 --------------------编程问答--------------------
引用 3 楼  的回复:
VB本来是不能写动态链接库的,但是可以用第三方插件或者其他办法来解决这个办法。
我觉得写出来的DLL稳定性不高。想导出1+1=2之类的函数还可以,一旦函数非常复杂的话,就很容易出问题。建议还是用C/C++写比较好。
一定要用VB写的话,用一般的声明方式就行了。
Private Declare Function Func Lib "VBDll.dll" (Byval a as Long,By……

这个同意。
补充:VB ,  API
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,