当我尝试从字符串传递奇怪的事情发生Lines一的TMemo控制阵列PChar.在例程结束时,数组中的最后一个字符串是重复的.我能够在这个简单的代码中复制它:
procedure Test;
var
i: smallint;
arr: array of PAnsiChar;
strarr: array[0..1] of string;
begin
SetLength(arr, 2);
strarr[0] := 'abbb';
strarr[1] := 'baaa';
for i := 0 to Length(strarr) do
arr[i] := PAnsiChar(AnsiString(strarr[i]));
end;
Run Code Online (Sandbox Code Playgroud)
如果我一步一步地运行这个程序,我可以看到arr[0] = 'abbb',在rutine结束时,两个值,arr[0]并arr[1]等于baaa.我想它与类型转换有关.
任何人都可以看到有什么问题?