一般如果仅仅是内存区域的话,我觉得按1字节的可能性最大,这样就存在问题了,你定义的是bufBit: Array of IntegerInteger在Delphi中是4字节的,你要是转化的话建议转化为Byte指针比较好:
var
BP: PByte
begin
BP:= PBYTE(@BufBit[0])
//处理部分
end
呵呵,未验证,仅供参考
另外,一楼所说很有道理!
1、看你WriteBuffer的写法似乎是为了和C语法兼容,未指定长度的话可能会以 0 作为结束符,需要注意。
2、或者里面隐含处理的长度,这样的写法不安全,可能会造成未知的错误,或让程序崩溃!
动态数组变量本身,实际上就是一个指针了,不需要再专门去定义一个指向动态数组的指针。比如:
A, B: array of Integer
begin
SetLength(A, 1)
A[0] := 1
B := A
end
动态数组变量B,它指向动态数组A的内容,即B[0] =A[0] = 1修改B[0],A[0]的值也变了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)