我动态创建的控件实例怎么找不到啊?
如下所示:
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
  iCount:integer;
begin
  memo1.Clear;
  for iCount:=0 to ComponentCount-1 do
    Memo1.Lines.Add(Components[iCount].GetNamePath);
end;procedure TForm1.FormCreate(Sender: TObject);
var
  sb:TSpeedButton;
  i:integer;
begin
  for i:=0 to 5 do
  begin
    sb:=TSpeedButton.Create(sb);
    sb.Width:=50;
    sb.Height:=25;
    sb.Left:=10;
    sb.Top:=i*sb.Height+2;
    sb.Caption:='text'+IntToStr(i);
    sb.Parent:=Form1;
  end;
end;end.
结果我指能够在Memo1中找到Memo1,Button1而我创建的那六个SpeedButton怎么找不到?怎么才能找到呢?

解决方案 »

  1.   

    try:
    procedure TForm1.FormCreate(Sender: TObject);
    var
      sb:TSpeedButton;
      i:integer;
    begin
      for i:=0 to 5 do
      begin
        sb:=TSpeedButton.Create(Self);
        sb.Width:=50;
        sb.Height:=25;
        sb.Left:=10;
        sb.Top:=i*sb.Height+2;
        sb.Caption:='text'+IntToStr(i);
        sb.Parent:=Form1;
      end;
    end;
      

  2.   

    chechy(为程序而奋斗) :还是不行啊,列举不出来!
      

  3.   

    我修改了一行代码,你没看出来吗?
    sb:=TSpeedButton.Create(Self);
    改后,就应该OK了。
      

  4.   

    owner参数的作用是指定该对象的生存期管理者,负责释放该对象
      

  5.   

    我照你的代码作可以找到speedbutton的,你调整一下memo的位置,会不会被你遮住了。