我的链表问题还没解决!!

xiajinanhello 2003-05-26 09:21:53
我在一窗口定义一全局链表,在窗口的OnShow事件里给链表装初值;我关掉窗口后再启动窗口时发现原链表并没删除,并在后面进行追加数据。难道窗口关掉后,链表不会自动释放吗?那我应该如何删除它,请给个例子吧,多谢了!!
...全文
28 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwjchina 2003-05-26
  • 打赏
  • 举报
回复
如 hotzhu(非洲白脸) 所说,要释放!
你每调用一次New系统就会为之分配一定的资源,
所有New的地方都要Dispose
所以你在关闭的时候作Dispose就可以了
MyCrooner 2003-05-26
  • 打赏
  • 举报
回复
在OnClose里要从为到头Free
xiajinanhello 2003-05-26
  • 打赏
  • 举报
回复
procedure TSetOptionalForm.FormCreate(Sender: TObject);
var
f : textfile;
i : integer;
str,str1 : string;
flagz : bool;
Header,P: PMyList;

begin //创建链表

Header := MyList;
////

assignfile(f,'zxg.ini');
listbox1.Clear;
listbox2.Clear;

for i := 0 to totalrow - 1 do
begin
flagz := false;
reset(f);
while not eof(f) do
begin
readln(f,Str);
str1 := copy(str,1,6);
if gpdm[i].id = str1 then
begin
listbox2.Items.Add(str);
flagz := true;
break;
end ;
end;
if flagz = false then
begin
New(Mylist);
Mylist^.code := gpdm[i].id;
Mylist^.Name := gpdm[i].name;
Mylist^.zm := gpdm[i].py;
Mylist^.Ptr := Header;
Header := Mylist;
listbox1.Items.Add(Mylist^.code+' '+Mylist^.Name);
end;
CloseFile(f);
end;
Ra_dm.Checked := true;
end;
智商无下限 2003-05-26
  • 打赏
  • 举报
回复
代码看看!!!
zwjchina 2003-05-26
  • 打赏
  • 举报
回复
给我看看代码。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧