DLL匯出函數定義
---------------------------------------------------
__declspec(dllexport) int __stdcall MyExportFunction(const char * p1, const char * p2, char * const out);
VBA處理(VB.net的處理也類似)
要注意的一點是,C語言中的【char *】類型相當於VBA(或VB.NET)中的【ByRef aa As Byte】 。
---------------------------------------------------
Private Declare Function fnc Lib "DLL路徑\DLL名.dll" _
Alias "函數名" (ByRef p1 As Byte, ByRef p2 As Byte, ByRef out As Byte) As Integer
Sub Test()
Dim pUserID() As Byte
'字串轉換為Byte數組
Call ToBytes("999999900", pUserID)
Dim pYYMMDD() As Byte
Call ToBytes("091020", pYYMMDD)
Dim pPWD(50) As Byte
aa = fnc(pUserID(0), pYYMMDD(0), pPWD(0))
Dim str As String
str = StrConv(pPWD, vbUnicode)
MsgBox (str)
End Sub
'字串轉換為Byte數組
Private Sub ToBytes(ByRef src As String, ByRef dst() As Byte)
ReDim dst(Len(src))
Dim i As Integer
For i = 1 To Len(src)
dst(i - 1) = Asc(Mid(src, i, 1))
Next
End Sub