结构体有一个好处就是内存自动管理,不用手工创建,但当定义如下的结构体时:
Type
Tmyrecord1 = record
mystream : TMemoryStream;
end;
这个结构体的内存应该就不是是自动管理的了,因为TMemoryStream是要手工去创建才能使用的,当然如果结构体中含有其它要手工Create才能使用的类,也是一样的。这个结构体中的mystream仍然要手工create,用完后仍然要手工free。如果不create结构体中的mystream就直接使用,就会出现非法访问内存的错误。