生成控件的程序:
procedure Tdingegl_w.dtsckj;
var
  i:Integer;
    //lb:TLabel;ed:TEdit;
  begin
for i:=1 to 10 do
  begin
    lb:=TLabel.Create(Application);
    lb.Parent:=ScrollBox2;
    lb.name:='lbn'+IntToStr(i);
    lb.Caption:=memo1.Lines[i];
    lb.Height:=13;
    lb.Top:=8+i*26;
    lb.Width:=120 ;
    lb.Left:=5;
    lb.OnClick:=Label14Click;
    ed:=TEdit.Create(Application);
    ed.Parent:=ScrollBox2;
    ed.name:='edn'+IntToStr(i);
    ed.Height:=21;
    ed.Top:=5+i*26;
    ed.Width:=120 ;
    ed.Left:=141;
    try ed.text:=Adoquery2.Fields[i].Value;except ed.text:='';end;
   ed.OnClick:=Edit5Click;
  end;
end;这是成功的。但是在执行删除这些控件的时候,无论怎么做都是无效的。根本没删除掉,好像下面这段代码没执行过的删除的程序如下
for i:=1 to 10 do
  begin
    Tlabel(findcomponent('lbn'+inttostr(i))).Free;
    TEdit(findcomponent('edn'+inttostr(i))).Free;
  end;还有一个怪现象:
明明Edit1-Edit10都有数据。(我是程序里面赋值的)
但是为什么showmessage(Edit1.text)却是空的
为什么

解决方案 »

  1.   

    for i:=1 to 10 do
    改成
    for i:=10 downto 1 do
      

  2.   

    你不会调试的吗?
    不要动不动就说程序怪现象,是你自己的原因好不好.删除的时候用Tlabel(Application.findcomponent('lbn'+inttostr(i))).Free;就可以了.
    另外,你动态创建的控件的Owner不应该用Application,虽然你这个代码中可以正常,但总不是一个好思路.你的代码为什么不行,可以自己跟踪一下源码.话说还在用DELPHI作为初学工具的,一般都是看VCL源码去的吧
      

  3.   

    TLabel.Create(self)
    TEdit.Create(self)
    这时候才能用FindComponent找到。
      

  4.   

    FindComponent是调用的Form的方法,而你创建的控件Owner不属于Form,怎么可能找到
      

  5.   

    1.lb:=TLabel.Create(Self);Owner应该是当前所在的窗体2.动态创建的控件保存在一个TList中。
    var
      CList:TObjectList;
      
      CList.Add(lb);
      用完后
      CList.Clear;就全部删除了。
      
      

  6.   

    TLabel.Create(Application);创建的组件不属于scrobox,你findcomponent当然找不到了
      

  7.   


    for i:=1 to 10 do
      begin
      Tlabel(ScrollBox2.findcomponent('lbn'+inttostr(i))).Free;
      TEdit(ScrollBox2.findcomponent('edn'+inttostr(i))).Free;
      end;
      

  8.   

    我得建议是你定义一个控件数组,然后你管理这个数组里面的控件的创建与销毁,不管你findcomponent能不能找到你的组件,都是需要经过一次遍历的
      

  9.   

    你的动态控件创建在Application下,建议创建下一个Form下,由Form指引删除,或引用数据。
      

  10.   

    Delphi高级组件开发指南 第一篇
    URL:http://www.docin.com/p-116784103.html这篇文章讲解改良TButton界面的方法,使其具有圆角和渐变背景图。
    这个DelphiDemos.zip中就是这个改良后的新按钮:TJHLButton
    完全源代码,欢迎下载。文档Flash:http://www.docin.com/DocinViewer-116784103-144.swf