注册 登录
编程论坛 Delphi论坛

[求助]关于自定义属性的问题

cherywq 发布于 2007-10-08 11:20, 1309 次点击

我在单元内想建立自定义类的自定义属性,代码如下
unit Unit2;
interface
type
myclass=class
private
Fstrname:string;
public
procedure setname(var str:string);
published
property ckname:String read Fstrname write setname;
end;
implementation
procedure myclass.setname(var str:string);
Fstrname:=str;
end;
end.
但现在怎么也编译通过不了,Delphi7.0提示unkown directive Fstrname,可Fstrname我已经在type中定义了呀。
请大家帮帮忙看看是什么原因?

5 回复
#2
cherywq2007-10-08 11:52
怎么没有人回答啊,版主在吗?
#3
cherywq2007-10-08 12:59
唉。。。。。。。。。。人气惨淡啊!
#4
缘吇弹2007-10-08 18:01

粗略看了下,没发现什么大的错误.只是发现你漏了个begin:


unit Unit2;
interface
type
myclass=class
private
Fstrname:string;
public
procedure setname(var str:string);
published
property ckname:String read Fstrname write setname;
end;
implementation
procedure myclass.setname(var str:string);
begin
Fstrname:=str;
end;
end.
#5
anthony6342007-10-08 22:09
除了begin外,属性只能是值传递的,不能用var的,另外如果不是练习,没必要使用函数,直接property ckname:String read Fstrname write Fstrname;就可以了。还有一个是 如果不是出于练习的目的,在实际中如不需要可视化 不用published。只有public,属性在最下面
#6
cherywq2007-10-09 13:53
谢谢版主,自己太粗心了
1