
LZ这是我测试通过的例世册子:
VC:
float _stdcall tryf(float* inGruop, float* outGroup)
float _stdcall tryf(float* inGruop, float* outGroup)
{
char sss[256]
sprintf(sss, "input:[%f] output:[%f]", *inGruop, *outGroup)
MessageBox(0, sss, "tips", MB_OK)
(*inGruop)++
(*outGroup)++
(*outGroup)++
sprintf(sss, "亏返局new input:[%f] output:[%f]", *inGruop, *outGroup)
MessageBox(0, sss, "tips"销让, MB_OK)
return *outGroup
}
VB:
Private Declare Function tryf Lib "dll_vb.dll" (inputf As Single, outputf As Single) As Single
Private Sub Command1_Click()
Dim res As Single
Dim s1 As Single
Dim s2 As Single
s1 = 100
s2 = 1000
res = tryf(s1, s2)
Dim N(1 To 9) As Single, Q(1 To 20) As Single
Dim c As Single
c = tryf(N(1), Q(1))
End Sub
declare sub Get_parameters lib "dllname" (arglist as type)VB里的说明语句(Declare),仅支持动态链结库(DLL)的子竖禅程序和无变量函数。
VB程序要使用DLL中的函数,首先必须要前尘有特殊的声明,用Declare声明语句在窗体级或模块级或全局模块的代码声明段进行声明,将动态链接库中的函数声明到VB中,供VB程序调用。
语句格式为:Declare Sub 过程名Lib [ Alias " 别名]([ByVal 参数AS类型]),慧纤禅或为Declare Function函数名Lib [Alias " 别名]([ByVal 参数AS类型])AS类型在声明中首先用Declare关键字表示声明DLL中的函数。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)