小编Mar*_*ada的帖子

如何将字符串传递给PAnsiChar数组?

当我尝试从字符串传递奇怪的事情发生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.我想它与类型转换有关.

任何人都可以看到有什么问题?

delphi string unicode casting delphi-xe2

3
推荐指数
1
解决办法
4418
查看次数

标签 统计

casting ×1

delphi ×1

delphi-xe2 ×1

string ×1

unicode ×1