//*.def EXPORTS a//*.cpp long _stdcall a (long x, long y) { return x+y; }//vb[model1] Public Declare Function a Lib "E:\vbwindlltest\windll.dll" (ByVal x As Long, ByVal y As Long) As Long[form1] Private Sub Command1_Click() Dim i As long i = a(1, 2) End Sub
to xsbchen(我最酷),我试了一下,你的方法是正确的。为什么我的方法不行,还有_stdcall的作用是什么,因为我刚接触VC,所以有很多不懂的地方,请赐教。
最重要的是数据类型不同 LONG 和 INT 有区别
我同意glite(zgq)的说法,在vc中定义成int型,VB中用long int a(int x,int y) Public Declare Function a Lib "E:\vbwindlltest\windll.dll" (ByVal x As Long, ByVal y As Long) As Long
EXPORTS a//*.cpp
long _stdcall a (long x, long y)
{
return x+y;
}//vb[model1]
Public Declare Function a Lib "E:\vbwindlltest\windll.dll" (ByVal x As Long, ByVal y As Long) As Long[form1]
Private Sub Command1_Click()
Dim i As long
i = a(1, 2) End Sub