首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

setLength 动态数组,内存报错解决思路

2012-02-19 
setLength 动态数组,内存报错我定义了一个字符型的动态数组,第一次调用setLength分配空间后接着再调用setL

setLength 动态数组,内存报错
我定义了一个字符型的动态数组,第一次调用setLength分配空间后接着再调用setLength(pData,0)撤销数组分配是没有问题的,但是当我用copymemory(@pData,pSource,len)后,再调用setLength(pData,0)就抱错了,请会各位高手这是怎么回事,如何解决?急等

[解决办法]
应该不会, 比如:

procedure TForm1.Button1Click(Sender: TObject);
var
AByteArray : array of Byte;
sTemp : String;
iLoop : Integer;
begin
sTemp := 'Hello, world! ';
SetLength(AByteArray, Length(sTemp));
CopyMemory(@AByteArray[0], @sTemp[1], Length(sTemp));
for iLoop := 0 to High(AByteArray) do
ShowMessage(Format( 'AByteArray[%d] = %d ', [iLoop, AByteArray[iLoop]]));
SetLength(AByteArray, 0);
AByteArray := nil;
end;

应该是你的代码有问题。

热点排行