起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 1099|回复: 18

【结】create

[复制链接]
发表于 2010-8-25 10:37:21 | 显示全部楼层 |阅读模式
下面代码报错
procedure TMainForm.Button1Click(Sender: TObject);
var
  lNav: TDataNavigator;
begin
  lNav := TDataNavigator.Create(nil);
  lNav.Parent := Panel1;
end;
但是改成  lNav := TDataNavigator.Create(self);就可以呢
回复

使用道具 举报

发表于 2010-8-25 17:51:16 | 显示全部楼层
呵呵,看一下delphi帮助。
其实报错是在你 设置它的parent上。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-8-26 17:31:45 | 显示全部楼层
没明白你的意思,请明示呵呵
回复 支持 反对

使用道具 举报

发表于 2010-8-27 12:20:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-8-27 16:46:02 | 显示全部楼层
是这个导致的吗,Create时候传的Owner和设置Parent有关系吗
那为什么换成一个TButton就没事呢
回复 支持 反对

使用道具 举报

发表于 2010-8-27 17:35:07 | 显示全部楼层
换成tbutton是什么意思呢?
是TButton.Create(nil)没报错还是TDataNavigator.Create(TButton)没报错?

TDataNavigator创建时会执行4楼的代码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-8-30 09:28:45 | 显示全部楼层
你们动手试一下就知道了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-9-1 09:25:49 | 显示全部楼层
var
  lBtn: TButton;
begin
  lBtn := TButton.Create(nil);
  lBtn.Parent := Panel1;
end;
回复 支持 反对

使用道具 举报

发表于 2010-9-1 10:34:47 | 显示全部楼层

Re: create

最初由 xhong 发布
[B]下面代码报错
procedure TMainForm.Button1Click(Sender: TObject);
var
  lNav: TDataNavigator;
begin
  lNav := TDataNavigator.Create(nil);
  lNav.Parent := P..

以下省略...... [/B]


请问楼主,是抱什么错误啊?
回复 支持 反对

使用道具 举报

发表于 2010-9-1 10:34:51 | 显示全部楼层
请进入delphi查看Tbutton的源码。感觉对于可视化控件,比较正常的写法是要传进owner参数,说明这个控件是创建在什么上边
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-7 02:19 , Processed in 0.054246 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表