作者pig750221 (pig)
看板Visual_Basic
标题[语法] Excel 中使用C++作的DLL 出现错误
时间Wed Aug 19 15:35:28 2009
※ [本文转录自 C_and_CPP 看板]
作者: pig750221 (pig) 看板: C_and_CPP
标题: [语法] Excel 中使用C++作的DLL 出现错误
时间: Wed Aug 19 15:35:01 2009
小女子现在在研究在Excel VBA中使用C++作成的DLL
Google了老半天也照上面的方法弄但是一直出现错误
版上的文章也有研究过了,不过没有能够解决我的问题
我现在要从VBA传一个数值矩阵到DLL
照着网路上这是我在C++的写法
void test1(double *data,double *summary){
summary[0] = data[0]+data[1];
summary[1] = data[0]+data[1];
summary[2] = data[1]+data[2];
summary[3] = data[3]+data[3];
}
也有试过在void後面和前面都加上 __stdcall
不过结果一样@@
VBA这样子宣告
Private Declare Function test1 _
Lib "D:\TEST.dll" _
(ByRef data As Double, ByRef summary As Double)
Function ABC()
Dim data() As Variant
Dim summary() As Variant
ReDim data(4)
ReDim summary(4)
data(0) = Cells(1, 1)
data(1) = Cells(1, 2)
data(2) = Cells(1, 3)
data(3) = Cells(1, 4)
test1 data, summary
Cells(2, 1) = summary(0)
Cells(2, 2) = summary(1)
Cells(2, 3) = summary(2)
Cells(2, 4) = summary(3)
End Function
我在VC++编译有过
可是在VB中使用的时候一直不能使用
问题是出在传进去DLL引数的时候吗?
麻烦各位好心人解救一下在C++要怎麽写才能让其他程式正确的使用
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.211.36.254
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.211.36.254