VB调用VC写的dll总是出现内存不能写的错误.为什么?
这是vc写的dll的头文件
#ifdef MEMCARD_EXPORTS
#define MEMCARD_API __declspec(dllexport)
#else
#define MEMCARD_API __declspec(dllimport)
#endif
extern "C" MEMCARD_API void __stdcall MemCardGetDecryptedData(unsigned char* buffer,bool PCVer);
extern "C" MEMCARD_API void __stdcall MemCardGetEncryptedData(unsigned char* buffer,bool PCVer);
我的vb程序是
Dim Buffer(1250303) As Byte
Private Declare Function MemCardGetDecryptedData Lib "MemCard.dll" Alias "_MemCardGetDecryptedData@8" (ByRef Buffer() As Byte, ByVal PC As Boolean)
Private Sub Command1_Click()
dlg1.Filter = "(*.*)|*.*"
dlg1.ShowOpen
If dlg1.FileName <> "" Then
Open dlg1.FileName For Binary As #1
Get #1, , Buffer()
Close #1
End If
End Sub
Private Sub Command2_Click()
Call MemCardGetDecryptedData(Buffer(), True)
End Sub
可是不知道怎么就是不行
问题点数:10、回复次数:1Top
1 楼rainstormmaster(暴风雨 v2.0)回复于 2006-03-04 19:19:48 得分 10
试试这样:
Private Declare Function MemCardGetDecryptedData Lib "MemCard.dll" Alias "_MemCardGetDecryptedData@8" (ByRef Buffer As Byte, ByVal PC As Boolean)
Private Sub Command2_Click()
Call MemCardGetDecryptedData(Buffer(0), True)
End SubTop




