H
huopen
Unregistered / Unconfirmed
GUEST, unregistred user!
var a: TStringStream;
Path: Pchar;
tt: string;
begin
tt := '12345678';
a := TStringStream.Create(tt);
getmem(Path, length(tt));
a.Read(path^, length(tt));
showmessage(inttostr(strlen(path)));
showmessage(string(path));
freemem(Path);
a.free;
end;
在D5执行这段代码showmessage(string(path))显示正确,而showmessage(inttostr(strlen(path)))
却是得到11的结果,我发现只要a.Read(path^, 8)就会出现这个问题。
在D6中,在一个按钮下执行,按1,2次得到8,按第3次开始得9。
请问大家知道吗?
Path: Pchar;
tt: string;
begin
tt := '12345678';
a := TStringStream.Create(tt);
getmem(Path, length(tt));
a.Read(path^, length(tt));
showmessage(inttostr(strlen(path)));
showmessage(string(path));
freemem(Path);
a.free;
end;
在D5执行这段代码showmessage(string(path))显示正确,而showmessage(inttostr(strlen(path)))
却是得到11的结果,我发现只要a.Read(path^, 8)就会出现这个问题。
在D6中,在一个按钮下执行,按1,2次得到8,按第3次开始得9。
请问大家知道吗?