VB.NETからVC6.0のDLLに構造体配列を渡したいのですが
うまくいきません。
VB.NET側
Public Structure ki
Public a As Integer
Public b() As Integer
Public Sub ini()
ReDim b(14)
End Sub
End Structure
Public Declare Sub ka _
Lib "j.dll" _
Alias "B" _
(ByRef a As struct)
dim d as ki
s.ini()
s.a = 1
For b = 0 To 14
s.b(b) = b
Next
ka(ki)
C側
ヘッダー
typedef struct {
INT ucKouza;
INT ucDate_Data[15];
}F27_SAIKOUHORYUDAT,*F27_LPSAIKOUHORYUDAT;
ソース
BOOL WINAPI Baki(F27_SAIKOUHORYUDAT* ba)
{
CHAR msg[10];
CHAR work[50];
int i;
ZeroMemory( work, sizeof( work )) ;
sprintf( work,"%d\n", ba->ucKouza );
for(i = 0; i < 15 ;i++)
{
ZeroMemory( msg, sizeof( msg )) ;
sprintf( msg,"%d\n", ba->ucDate_Data[i] );
strcat(work,msg);
}
MessageBox(NULL, work, "sss", MB_OK);
return TRUE;
}
受け渡しすると中身がぜんぜん違うものになってしまいます。
どのように変更すればいいでしょうか?
ツイート | ![]() |