急!!菜鸟问题(关于向C写的动态库中传入和传出BYTE ARRAY的问题。。。)
本人写了一个用C写了一个动态函数借口如下:
func(BYTE *pSrc,short srcLen,BYTE* pDest,short *pDestLen);
在VB中调用如下:
Private Declare Sub func Lib "xxx.dll" (ByRef lpSrc As bye, ByVal nSrcLen As Integer, lpDest As Long, ByRef pDestLen As Integer)
Private Sub Command1_Click()
Dim str As String
dim b() as Byte
dim lpDest as long
dim pDestLen as Integer
str = "1你"
//请问怎么将str转成正确的byte array传入c中接收
//用b = str,发现b(0) = 49,b(1) = 0 ,b(2) = 96,b(3) = 79
//用b = strconv(str,vbFormUnicode),发现b(0) = 49,b(1) = 63 而不是像论坛中的帖子说得有三个字节。难道是配置问题吗。
//所以传入C中的组成字符串就不对了。在c中"1你"的byte array为b(0) = 49,b(1) = 196 ,b(2) = 227
func b(0), 4, lpDest, pDestLen
//还有如果有中文传出的时候不知道应该怎么得到
End Sub
本人对VB是新手请指教。