通过VB结构数组输入数据VC编写DLL实现图形文件
2010-06-23 20:40:52 来源:WEB开发网核心提示:前言太多的例子讲如何如何实现VC编写动态链接库,VB中声明后使用,但没有一个好的文章来深入探讨这个问题,本文负责解决此类问题。1.一般情况VB中定义为:Private Declare Function FuncFoo Lib "MyStDll.DLL" _(ByVal lParam1 As Long
前言
太多的例子讲如何如何实现VC编写动态链接库,VB中声明后使用,但没有一个好的文章来深入探讨这个问题,本文负责解决此类问题。
1.一般情况
VB中定义为:
Private Declare Function FuncFoo Lib "MyStDll.DLL" _
(ByVal lParam1 As Long, ByVal lParam2 As Long) As Long
VC中定义为:
UINT WINAPI FuncFoo(UINT lParam1, UINT lParam2);
不用说大家就知道两个long参数,按值传递的
2.实现类型数组:
VB中定义为:
Private Declare Function FuncFoo Lib "MyStDll.DLL" _
(lParam1 As Long, ByVal lParam2 As Long) As Long
VC中定义为:
UINT WINAPI FuncFoo(UINT lParam1[DATASIZE], UINT lParam2);
其中DATASIZE为定义常数
ByRef 按地址传参数,当然VB缺省参数形式ByRef,将数组的第一个数据传入,就是这个类型数组的地址了
用法如下:
...
Dim oData(1 to 3) as Long
oData(1) = 100
oData(2) = 200
oData(3) = 300
Call FuncFoo(oData(0),3)
...
更多精彩
赞助商链接