记录类型数组如何清除?(50分)

  • 主题发起人 doll_paul
  • 开始时间
D

delphilai

Unregistered / Unconfirmed
GUEST, unregistred user!
纪录类型变量根本就不需要释放内存,多此一举!对象才需要释放内存。
 
L

lightstar

Unregistered / Unconfirmed
GUEST, unregistred user!
如果在记录类型中定义了对象元素,那这个对象元素在建立后就必须释放。
 
T

thx1180

Unregistered / Unconfirmed
GUEST, unregistred user!
to lightstar:
String类型也是生存期自管理的,这指的是变量吧?
现在记录串的指针的是数组的元素,不知会如何?
 
S

Sterntaler

Unregistered / Unconfirmed
GUEST, unregistred user!
这样是安全的。
for I := 0 to Length(ff) - 1 do ff.Free;
SetLength(ff, 0);
 
D

doll_paul

Unregistered / Unconfirmed
GUEST, unregistred user!
to Sterntaler,FF里保存的又不是对象,会有FREE方法吗?
 
S

Sterntaler

Unregistered / Unconfirmed
GUEST, unregistred user!
哎呀,没看清楚。那么SetLength(ff, 0);就行了。记录属于自释放对象,在使用完之后就被释放掉了,这样是安全的。
 
L

lightstar

Unregistered / Unconfirmed
GUEST, unregistred user!
to thx1180: String类型是记录元素,也不需要特别释放的。
楼主,这个问题已经很明确的,你的作法是安全的,可以结贴了.
 
D

doll_paul

Unregistered / Unconfirmed
GUEST, unregistred user!
多人接受答案了。
 

Similar threads

S
回复
0
查看
948
SUNSTONE的Delphi笔记
S
S
回复
0
查看
769
SUNSTONE的Delphi笔记
S
顶部