当前位置:编程学习 > VB >>

vc 制作的dll vb 如何调用

遇到一个vc做的dll,其中一个函数是
extern "C" INTERFACE_API int XSPEC_getIntegrationTime(USB_SPEC *ptr);

其中USB_SPEC的定义是
typedef struct usb_spec{
char filename[LIBUSB_PATH_MAX];
char devnum;
usb_dev_handle *usb_dev;
void *context0;
void *context1;
int flag;
usb_spec *next;
} USB_SPEC;

不知vb中要调用的话,USB_SPEC结构体该如何写?

望各位大神指点!!! vb vc dll typedef struct usb_spec{
char filename[LIBUSB_PATH_MAX];
char devnum;
usb_dev_handle *usb_dev;
void *context0;
void *context1;
int flag;
usb_spec *next;
} USB_SPEC;

VB可以类似进行定义一个type类型,但是char部分有可能会有问题,VB一般都会4字节边界进行对齐,你的看没有成员的对齐边界,然后在VB中对应即可;指针可以使用long类型数据成员,int也必须使用long 你的看每个成员的对齐边界 先定义一个对应的数据类型,如果因为对齐原因,二者不一致,写个函数,自己处理这种不一致好了。
如果VC,DLL可以修改,修改最好,不能修改,自己处理。

我记得好像VB是无法使用VC传递进来的结构体的。
补充:VB ,  API
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,