链表中的数组如何释放的问题
type
TArrayByte =Array of Array of Byte;
//定义数据结构
PTOnLineMeter =^TOnlineMeter;
TOnLineMeter =packed record
SocketID :TSocket;
CommandData :TArrayByte;
end;
//定义一个TList
OnLineMeterList_GPRS
//new一个结构
POnLineMeter :PTOnLineMeter;
New(POnLineMeter);
SetLength(POnLineMeter^.CommandData, sizeof(ArrayTemp)); //ArrayTemp另外定义的TArrayByte变量
Move(ArrayTemp, POnLineMeter^.CommandData, sizeof(ArrayTemp));
OnLineMeterList_GPRS.Add(POnLineMeter);
//释放
for i :=OnLineMeterList_GPRS.Count -1 downto 0 do
begin
if delSocket =PTOnLineMeter(OnLineMeterList_GPRS.Items[i])^.SocketID then
begin
//SetLength(PTOnLineMeter(OnLineMeterList_GPRS.Items[i])^.CommandData, 0);
//PTOnLineMeter(OnLineMeterList_GPRS.Items[i])^.CommandData :=Nil;
Dispose(PTOnLineMeter(OnLineMeterList_GPRS.Items[i]));
OnLineMeterList_GPRS.Delete(i);
end;
end;Dispose(PTOnLineMeter(OnLineMeterList_GPRS.Items[i]));这一句运行的时候报无效指针,我猜大概是这个数组造成的,因为如果在new的时候,不给这个数组赋值,就能正常释放。释放前面两句代码,注销与不注销都报错
...全文
相关推荐
c语言链表数组-c语言手写单链表实现,数组和链表结构对比小结和个人理解 数组和链表.pdf
c语言链表数组-c语言手写单链表实现,数组和链表结构对比小结和个人理解 数组和链表.pdf
pythonlist是数组还是链表实现的-数组和链表结构(python)-1 数组和链表.pdf
pythonlist是数组还是链表实现的-数组和链表结构(python)-1 数组和链表.pdf
链表及动态数组.zip
C语言的链表和动态数组的实现,源代码
数组与链表的区别
你还在为数组与链表的区别而头疼吗?那你还等什么呢,赶紧阅读此文档,让你彻底明白数组与链表的区别
集合(链表和数组的区别) 数组和链表.pdf
集合(链表和数组的区别) 数组和链表.pdf


语言基础/算法/系统设计
