读书人

VB编的dll是否接受自定义类型的参数?

发布时间: 2012-01-29 21:39:32 作者: rapoo

VB编的dll是否接受自定义类型的参数?
用了网上百度来的方法,生成了函数返回型的dll文件。
简单的函数没问题,使用VB固有数据类型的也没有问题,但自定义类型的参数就发生错误。百度了一下午,也不确定是否接受此类自定义类型的参数,所以在这里发帖,问一下大家。

VB编的dll是否接受自定义类型的参数?
我的自定义类型参数大致结构如下:

VB code
public enum enumDecks  Deck1  Decks2  Decks4  Decks6  Decks8end enumtype typeRules  Deck=enumDecksend typepublic myRules as typeRules


[解决办法]
我用的enum里有value
deck1 =1
decks2 = 2
...
[解决办法]
这与用什么编的DLL无关,与编DLL的人有关.

根据WINDOWS提供的API的用法,应该是传入类型的指针,然后在API内根据指针还原结构,完成结构传递.

有的API由于有不同版本的结构,因此为了确定结构版本,结构的第一个成员往往是一个表明结构大小的成员,例如:

VB code
Private Type WNDCLASSEX    cbSize As Long    style As Long    lpfnWndProc As Long    cbClsExtra As Long    cbWndExtra As Long    hInstance As Long    hIcon As Long    hCursor As Long    hbrBackground As Long    lpszMenuName As String    lpszClassName As String    hIconSm As LongEnd Type 

读书人网 >VB

热点推荐