VB 调用 VC Dll的问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 07:02:30
我是一个编程爱好者,今天学到了怎样编写VC Dll。但是,在VB中调用时出现了一些问题:
VC Dll Code(主要部分):

extern "C" __declspec(dllexport) int __stdcall Addin(int a,int b);

int __stdcall Addin(int a,int b)
{
return (a+b);
}

VB Form Code:

Private Declare Function Addin Lib "D:\Add.dll" (ByVal a As Long, b As Long) As Long
-------------------------------------------------------------------
Private Sub Command1_Click()
Text3.Text = Addin(Text1.Text, Text2.Text)
End Sub

PS:我在Form中加了四个控件

但是,当我在 Text1 上输入'1',在 Text2 上输入'2',按下按钮后,Text3
出现了一个很大的数,请问这是为什么?谢谢各位了!

定义错误
Private Declare Function Addin Lib "D:\Add.dll" (ByVal a As Long, b As Long) As Long
b 没有用 ByVal ,所以传递了 b 的地址。
改为
Private Declare Function Addin Lib "D:\Add.dll" (ByVal a As Long,byval b As Long) As Long
应该可以了