制作好DLL之后,就可以用VB调用它,实现VB调用C程序。VB程序要使用DLL中的函数,首先必须要有特殊的声明,用Declare声明语句在窗体级或模块级或全局模块的代码声明段进行声明,将动态链接库中的函数声明到VB中,供VB程序调用。
语句格式为:Declare Sub 过程名Lib [ Alias " 别名]([ByVal 参数AS类型]),或为Declare Function函数名Lib [Alias " 别名]([ByVal 参数AS类型])AS类型在声明中首先用Declare关键字表示声明DLL中的函数。在C语言中有的函数类型为VOID,它表示不具有返回值,则必须用关键字Sub将其声明成过程。有的函数具有返回值,则必须用关键字Function将其声明成函数,并且在声明语句的最后要用AS关键字指明函数返回值的类型。
:
Declare Function ADD Lib c:\―ByVal X AS Integer, ByVal Y AS Integer ,ByVal filein as
string)AS Integer
通过此声明语句将函数ADD声明到VB中,便可直接调用。
Declare语句只能调用标准DLL,而不能用于调用ActiveX DLL,这是你程序出错的原因。VB无法生成标准DLL,只能生成ActiveX DLL。调用ActiveX DLL,一般通过CreateObject语句或在Project|Reference中引用。
如何创建和使用最少的 ActiveX 组件在 VB 中
步骤 1: 创建服务器
1. 在 Visual Basic 中启动一个新的项目。选择 ActiveX EXE 或 ActiveX DLL。
2. 从 Project 菜单,选择添加模块,然后模块。
3. 在 Module 1 的通用声明部分中键入下面的代码: Sub Main ()
注意: End Sub 将自动为您添加。
4. General Declaration section of Class1 to add following code: Public MyString As String
Public Function MyFunction() As String
MyFunction = "You never know what you're gonna get."
End Function
Public Sub Class_Initialize()
MyString = "Life is like a box of chocolates."
End Sub
5. 在 Class 1 的属性窗口,设置以下属性: Property Value
---------
---------------------------
Instancing 5 - MultiUse
6. 从项目菜单,选择 Project 1 属性。在常规选项卡,从启动对象列表中选择 Sub Main 并单击确定。
7. by from Run menu choosing Start or by pressing F5 key start program。
您现在有一个完整的(尽管受限制) OLE 自动化服务器。更高版本,您可以从文件菜单来创建可用,而不必运行该项目的 ActiveX 组件选择 Project 1 EXE 或生成 Project 1 DLL。现在,在您想自动完成您的服务器。
8. 最小化 Visual Basic。
回到顶端
步骤 2: 创建客户端访问服务器
1. 启动 Visual Basic 的第二个副本。此时将创建一个新的项目(Project 1) 与默认窗体(Form 1)。
2. 将下面的代码添加到 Form 1 的相应的事件: ' In the General Declarations section:
Private MyObj As Object
Private Sub Form_Load ()
Set MyObj = CreateObject("")
End Sub
Private Sub Form_Click()
Print My
VB调用DLL 来自淘豆网www.taodocs.com转载请标明出处.