CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

请看一下这个类要如何释放??

楼主lookher(我是老虎)2004-12-03 15:41:20 在 Delphi / VCL组件开发及应用 提问

var  
      myClass:TmyClass;  
  begin  
      myClass:=TmyClass.Create;  
      myClass.name:='hwj';  
      myClass.num:=29;  
      TComboBox.Items.AddObject('aaa',myClass)  
   
      myClass:=TmyClass.Create;  
      myClass.name:='pig';  
      myClass.num:=28;  
      TComboBox.Items.AddObject('bbb',myClass)  
   
  end;  
   
  请教当窗口关闭时,这两个   myClass   类是否需要释放?   以及该如何释放? 问题点数:20、回复次数:9Top

1 楼Samland(samland)回复于 2004-12-03 15:44:12 得分 20

for   i:=0   to   TComboBox.Items.Count-1   do  
  TComboBox.Items[i].Free  
   
  PS:  
  TComboBox   怎么做了变量啦?Top

2 楼cdsgajxlp(起名很难)回复于 2004-12-03 17:44:36 得分 0

不要释放Top

3 楼cdsgajxlp(起名很难)回复于 2004-12-03 17:46:55 得分 0

错了,要释放Top

4 楼cdsgajxlp(起名很难)回复于 2004-12-03 17:50:21 得分 0

测试代码  
  unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   StdCtrls,   RzEdit,   RzButton;  
   
  type  
      TForm1   =   class(TForm)  
          Button1:   TButton;  
          Button2:   TButton;  
          Button3:   TButton;  
          Button4:   TButton;  
          Memo1:   TMemo;  
          procedure   Button1Click(Sender:   TObject);  
          procedure   FormCreate(Sender:   TObject);  
          procedure   FormClose(Sender:   TObject;   var   Action:   TCloseAction);  
          procedure   Button2Click(Sender:   TObject);  
          procedure   Button3Click(Sender:   TObject);  
          procedure   Button4Click(Sender:   TObject);  
      private  
          list   :   Tstringlist;  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
      sss   :   Tlabel;  
      i   :   integer;  
  begin  
      for   i:=0   to   10   do  
      begin  
          sss:=Tlabel.Create(self);  
          sss.Caption:=inttostr(i);  
          sss.Name:='a'+inttostr(i)+'111';  
          list.AddObject(inttostr(i),sss);  
      end;  
   
  end;  
   
  procedure   TForm1.FormCreate(Sender:   TObject);  
  begin  
      list:=Tstringlist.Create;  
  end;  
   
  procedure   TForm1.FormClose(Sender:   TObject;   var   Action:   TCloseAction);  
  begin  
      list.Free;  
  end;  
   
   
  procedure   TForm1.Button2Click(Sender:   TObject);  
  begin  
      list.Free;  
  end;  
   
  procedure   TForm1.Button3Click(Sender:   TObject);  
  begin  
      showmessage((form1.FindComponent('a1111')   as   Tlabel).Caption);  
  end;  
   
  procedure   TForm1.Button4Click(Sender:   TObject);  
  var  
      i   :   integer;  
  begin  
      for   i:=0   to   10   do  
      begin  
          memo1.Lines.Add(((list.Objects[i]   as   Tlabel).Caption));  
      end;  
   
  end;  
   
  end.  
  Top

5 楼lookher(我是老虎)回复于 2004-12-03 17:57:43 得分 0

我用上面的方法试过了,出错!   另外我试过   TmyClass(TComboBox.items.object[i]).free   ,也是出错!  
  如果不进行释放,当我退出程序时会提示   :   access   violation   at   address   XXXXXTop

6 楼nyf1220(我是党员----不过听说最近风声紧,打算换名字)回复于 2004-12-03 18:01:30 得分 0

var  
      myClass:TmyClass;  
  begin  
      myClass:=TmyClass.Create;  
      myClass.name:='hwj';  
      myClass.num:=29;  
      ComboBox1.Items.AddObject('aaa',myClass)//写错了把,应该是ComboBox1吧  
   
      myClass:=TmyClass.Create;  
      myClass.name:='pig';  
      myClass.num:=28;  
      ComboBox1.Items.AddObject('bbb',myClass)  
   
  end;  
  不用释放Top

7 楼lookher(我是老虎)回复于 2004-12-03 18:16:20 得分 0

如果不进行释放,当我退出程序时会提示   :   access   violation   at   address   XXXXXTop

8 楼nyf1220(我是党员----不过听说最近风声紧,打算换名字)回复于 2004-12-03 18:38:17 得分 0

那肯定也不是这里的错吧?  
  Top

9 楼lookher(我是老虎)回复于 2004-12-03 18:58:44 得分 0

是我自已打错了,Samland(samland)   的方法是对的,谢谢!Top

相关问题

  • 帮忙看一下类的问题
  • 大家帮我看一下这个错误信息,应该如何解决类似的问题
  • 高手路过请看一下!!!如何在弹出式对话框中获得文档类的指针??
  • 好人帮忙看一下,释放接口实现对象时报错?!
  • 请看一下如何做这个项目啊?有关VFP的
  • 如何获得对话框的背景色???高手看一下!
  • 深圳工作的ASP高手进来看一下如何?
  • 如何编写病毒?有兴趣地来看一下!
  • 请帮我看一下该SQL语句如何写?
  • 一个小逻辑应该如何实现?帮忙看一下!

关键词

  • myclass
  • tmyclass
  • 释放
  • addobject
  • tcombobox
  • tobject
  • sss
  • tbutton
  • sender
  • tform

得分解答快速导航

  • 帖主:lookher
  • Samland

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo