C++原型
#define XY_API __declspec(dllimport)
XY_API BOOL XY_GetTotalCount(WORD* lpTotalCount);函数都封装在xyapi.dll中,请问如何在VB中调用?
直接调用出现约定错误
#define XY_API __declspec(dllimport)
XY_API BOOL XY_GetTotalCount(WORD* lpTotalCount);函数都封装在xyapi.dll中,请问如何在VB中调用?
直接调用出现约定错误
http://expert.csdn.net/Expert/topic/2794/2794182.xml?temp=.4021417
如果,参数写的不对也有可能出现调用约定错误的
在右侧有Ordinal^,Hint等项,复制Function的内容,如:?XY_GetTotalCount@@YAHXZ
vb中建立工程
对引用的进行声明
Public Declare Function XY_GetTotalCount Lib "XXX.dll" Alias "?XY_GetTotalCount@@YAHXZ" (byval lpTotalCount as long) As boolean
如何判断是否__stdcall?
Public Declare Function XY_GetTotalCount Lib "XXX.dll" (ByRef lpTotalCount as Integer) As Long如果使用的时候出现调用约定错误,那9成就是原dll使用了__cdecl调用约定
{
....}在DEF文件中定:EXPORTS
; Explicit exports can go here
XY_GetTotalCount PRIVATE在VB中定义如下:Declare Function XY_GetTotalCount Lib "xxx.dll" () As Long
应该就可以了吧。