通知
すべてクリア
Topic starter
2005年8月9日 4:26 PM
開発環境
Visual Basic6.0
OS WindowsXP SP2
VB6.0で宣言したlong型配列をVCで作成したDLLに渡そうした場合
1次元配列では問題なくできたのですが(関数名 配列名(0))
2次元の場合だとうまくできませんでした。
どのようにすれば2次元配列を渡すことができるのでしょうか?
VB側
Private Declare Sub func Lib func.dll (d_data As Long)
Dim byBuf(10, 10) As Long
Private Sub Command1_Click()
func d_data(0, 0)
Label1.Caption = byBuf(5, 5)
End Sub
VC(DLL)側
extern C __declspec(dllexport) void __stdcall func(int data1[10][10])
{
int i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
data1[i][j] = i * j;
}
}
}
2005年8月10日 6:28 PM
こんにちは、じゃんぬ です。
多次元配列と多段階配列の区別はついていますか?
Topic starter
2005年8月11日 9:45 AM
VB側の宣言をbyBuf(9, 9)にしたらできました。
どうやら上限の違いがあったためできなかったみたいです。
ありがとうございました。