在用vb调用vc生成的dll时,如果调用的函数参数类型为自定义构造体类型时,编译时显示dll调用错误。代码如下:
vc部分:
typedef struct{
int i;
int j;
} Item;__declspec(dllexport) int __stdcall add(Item item)
{
int c = 0;
c = item.i + item.j;
return c;
}EXPORTS add @1vb部分:
Public Type ITEM
i As Integer
j As Integer
End TypePrivate Declare Function add Lib "xxx.dll" (ByRef t As ITEM) As IntegerPrivate Sub Command1_Click()
Dim rt As Integer
Dim it As ITEM
it.i = 1
it.j = 2
rt = add(it)
End Sub请问是什么原因?
vc部分:
typedef struct{
int i;
int j;
} Item;__declspec(dllexport) int __stdcall add(Item item)
{
int c = 0;
c = item.i + item.j;
return c;
}EXPORTS add @1vb部分:
Public Type ITEM
i As Integer
j As Integer
End TypePrivate Declare Function add Lib "xxx.dll" (ByRef t As ITEM) As IntegerPrivate Sub Command1_Click()
Dim rt As Integer
Dim it As ITEM
it.i = 1
it.j = 2
rt = add(it)
End Sub请问是什么原因?
解决方案 »
- 【VB不在组件中使用OnStartPage和OnEndPage】 改用实现ObjectControl接口,如何改?
- 使用VB6怎么才能打开一个指定的文本文件,并且以置顶的方式显示?
- odbc 连接 sqlserver2000
- 初级问题,如何才能在本地创建一个txt文件呀?
- 大家临睡前帮我看看这个小问题
- Select语句问题
- 求:某字段相等则另外字段求和的SQL语句。
- 怎么获得一个打开的Excel文件里,坐标框里的内容()? 100分,急
- 请问有谁用过摩托罗拉的C289,手机的高手也请进来,一个菜鸟问题!
- 替换ACCESS中输入数据后,一直报错
- 一个关于报表设计器的问题(强烈建议给我们这些菜鸟提供一些关于报表设计器的实例)
- 按回车键,使别的文本框得到焦点,怎么会有类似“BEEP"的声音,哐的一轻声
__declspec(dllexport) int __stdcall add(Item item)
改成
__declspec(dllexport) int __stdcall add(Item *item)
编译ok了
不过你的建议帮我解决了另外一个问题
3q!