关于Delphi XE8的ansistring的问题
最近在用Delphi XE8写一个小项目,在项目进行中遇到一个问题,我用D7写的类,在D7中运行时好的,但是到了XE8后,出现异常,而且这个异常很是奇怪对某个类的其中一个私有属性(ansistring类型)赋值,赋值可以取到到但是到了获取的时候就报错,第一次调用此函数的时候 不会报错,第二次的时候就报错;
函数里面就是一个简单的把字符串串联起来,后来我对一个长的字符串(大于512字节)用循环的方式取去,又可以了,不知道是不是我的函数问题还是ansistring的值太长了导致内存泄漏;
函数的大致意思的
function getAsBinStr:ansistring;
var
temp:ansistring;
i:integer;
begin
temp := strA + strB + FData;
(报错);
修改为 就可以了
temp := strA + strB ;
for i:=1 to length(temp) do
begin
temp := temp + FData[i];
end;
end;