2008/06/30(Mon) 15:36:49 編集(投稿者)
ささっとやってみました
●C++の関数
short WINAPI TestFunction(double aryA[],
double aryB[],
int cnt,
double *paramA,
double *paramB,
double *paramC
)
{
return 255;
}
●VB6のDeclare文
Public Declare Function TestFunction Lib "ヒミツ\test\test.dll" _
(ByRef aryA() As Double, _
ByRef aryB() As Double, _
ByVal cnt As Integer, _
ByRef paramA As Double, _
ByRef paramB As Double, _
ByRef paramC As Double _
) As Integer
●呼び出しプロシージャ
Private Sub Command1_Click()
Dim a1(5) As Double
Dim b1(5) As Double
Dim pa As Double
Dim pb As Double
Dim pc As Double
Dim ret As Integer
ret = TestFunction(a1, b1, 6, pa, pb, pc)
MsgBox (ret)
End Sub
上記で255が帰ってきたのでこれを参考にして頂けたらいいのではないでしょうか。
#戻り値の型のバイト数が合ってないかもしれませんのでそこは調整してください。
DEFファイルを格納したとありますが
C++のソースのプロジェクトにちゃんとありますかね?
上記ソースの場合は
EXPORTS
TestFunction
の2行を書いてビルドしてDLLを作成しました。
DLLの作成に関してはちょっと知識不足なので変なこといってたらすみませんorz