我试了一下,
虽然我知道我的pbyte变量gettext
gettext^的数据是$12345678比如,
但是我用
for i:= 0 to count-1 do
text[i]:= gettext^;
这种方法就说某地址访问错误。
for i:= 0 to count-1 do
用text[i]:=gettext[i]^
又说gettext不是数组。
如果用string变量strout去接收
strout:=gettext^;却是类型不匹配
或者用
strout:=gettext也是类型不匹配。所以我想知道如何将pbyte指向的数据存到另一个byte数组中去,或者如何增加pbyte指向的地址。
虽然我知道我的pbyte变量gettext
gettext^的数据是$12345678比如,
但是我用
for i:= 0 to count-1 do
text[i]:= gettext^;
这种方法就说某地址访问错误。
for i:= 0 to count-1 do
用text[i]:=gettext[i]^
又说gettext不是数组。
如果用string变量strout去接收
strout:=gettext^;却是类型不匹配
或者用
strout:=gettext也是类型不匹配。所以我想知道如何将pbyte指向的数据存到另一个byte数组中去,或者如何增加pbyte指向的地址。
p:PByte;
b:array[0..10] of Byte;
for i:=0 to 10 do
begin
b[i]:=P^;
Inc(P);//可能是 Inc(PChar(p));
end;
P是你的PByte指针
B是你的鼠族的第一个元素
Size是大小。如果要赋值到Char数组中,要进行指针类型的转换
Var
Q : PChar;Q := PChar( P );
Move( Q^, B[ 0 ], Size );
var
p:Pbyte;
b:array[0..10] of byte;
i:integer;
begin
for i:=0 to 10 do
begin
b[i]:=p^;
Inc(p);
end;
end;贴出你的源码看看