很简单。帮我看看好么?---也很急。呵呵。。。。

rzg 2002-11-01 12:01:44
我动态创建的控件实例怎么找不到啊?
如下所示:
unit Unit1;

interface

uses
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怎么找不到?怎么才能找到呢?
...全文
26 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rzg 2002-11-01
  • 打赏
  • 举报
回复
好了,谢谢!
mikko11 2002-11-01
  • 打赏
  • 举报
回复
sorry,搞错了
mikko11 2002-11-01
  • 打赏
  • 举报
回复
我照你的代码作可以找到speedbutton的,你调整一下memo的位置,会不会被你遮住了。
daniel007 2002-11-01
  • 打赏
  • 举报
回复
owner参数的作用是指定该对象的生存期管理者,负责释放该对象
wangbing2000 2002-11-01
  • 打赏
  • 举报
回复
是不是 因为 在你用一个声明sb 当处理第二个是 他被释放掉了
我一会给你也试试
chechy 2002-11-01
  • 打赏
  • 举报
回复
我修改了一行代码,你没看出来吗?
sb:=TSpeedButton.Create(Self);
改后,就应该OK了。
rzg 2002-11-01
  • 打赏
  • 举报
回复
chechy(为程序而奋斗) :还是不行啊,列举不出来!
chechy 2002-11-01
  • 打赏
  • 举报
回复
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;

5,388

社区成员

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

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