怎么设置一个property的默认值?我用default怎么不行?

do1doer 2003-03-26 03:56:08
我是这样写的:
property left read Fleft write Fleft default 5;


为什么我得到的Fleft的值不确定?它在属性栏里显示为0,但实际上是200多?
...全文
446 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CloneCenter 2003-09-16
  • 打赏
  • 举报
回复
我也郁闷!揭贴吧!
FrameSniper 2003-09-15
  • 打赏
  • 举报
回复
郁闷!揭贴吧!
hmily1688 2003-09-15
  • 打赏
  • 举报
回复
一楼的给我一分信誉值吧
overtime 2003-09-15
  • 打赏
  • 举报
回复
你在create 事件中写FLeft=5不就好了
hkbarton 2003-09-11
  • 打赏
  • 举报
回复
default并不会真正设定默认值,应该覆盖构造函数
zousoft 2003-09-10
  • 打赏
  • 举报
回复
来晚了。楼上说的很清楚了。要通过构造函数来实现。
提醒一下,通常构造函数都是声明在public中,且override重载。
lxpbuaa 2003-09-10
  • 打赏
  • 举报
回复
default指令的意思不是设置属性默认值。它的意思是:当你在组件可视化设计时设置的属性值和它指定的值不相同时,才将该值存入dfm文件。比如
property open:boolean read FOpen write setOpen default true;
如果你在Object Inspector中设置open为true时,open不会被保存,否则保存到dfm文件中。
要设置默认值,应该在构造函数Create中设置,如:
constructor Ttest.Create(AOwner: TComponent);
begin
inherited;
open := true;
//....
end;

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————

5,388

社区成员

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

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