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
--------------------编程问答--------------------
不是这种DLL不稳定,而是因为一些编码方式越过了VB6保姆的范围,例如字符串参数的传递,涉及到了指针.
在VB6下面编码的同学们一般来说对指针是比较陌生的,因此不少人没办法将这种改造过的DLL写好.
我写过的一个VB6插件就可以方便地为DLL添加导出函数,但函数内的代码需要编码者自己把握好分寸.
参考:
http://www.m5home.com/bak_blog/article/581.html --------------------编程问答-------------------- VB编写的dll一般都是对象库,而非标准dll(一些特殊工具可以生成标准dll),使用之前,必须在工程-引用菜单中添加入引用,然后,代码中创建对象,通过对象进行操作 --------------------编程问答--------------------
这个同意。
补充:VB , API