郁闷死了,这么简单的函数怎么执行就不成功呢?
Public Function strtohex(ByVal buffer As Byte()) As String
Dim i As Integer
Dim count As Integer
count = buffer.Length
Dim str As String = " "
For i = 0 To count
str = str & Hex(buffer(i))
Next
'for 循环执行完毕,总是不执行下面端话。最后返回的竟然是空。
'单步执行的时候,明明看到str这个变量不是空的。
MessageBox.Show(str)
Return str '就是执行不到这里。郁闷呀。
End Function
[解决办法]
你函数的第一句就错了,应该为
Public Function strtohex(buffer() As Byte) As String
因为形参如果是动态数组的话,是不能使用传值传递方式而只能采用引用传递方式(不能包含ByVal关键字).
第四条语句count = buffer.Length是得不到动态数组的长度的,buffer是一个数据结构,而非对象,不存在Length方法.
倒数第二条语句 Return str 也是错误的,应将其改为strtohex=str
看来你还是初学者啊
[解决办法]
count = buffer.Length
应该是用buffer.GetUpbound(0) 或者用VB的ubound(buffer)