[求助]关于自定义属性的问题
<STRONG></STRONG><P>我在单元内想建立自定义类的自定义属性,代码如下<BR>unit Unit2;<BR>interface<BR>type<BR> myclass=class<BR> private<BR> Fstrname:string;<BR> public<BR> procedure setname(var str:string);<BR> published<BR> property ckname:String read Fstrname write setname;<BR>end;<BR>implementation<BR>procedure myclass.setname(var str:string);<BR> Fstrname:=str;<BR>end;<BR>end.<BR>但现在怎么也编译通过不了,Delphi7.0提示unkown directive Fstrname,可Fstrname我已经在type中定义了呀。<BR>请大家帮帮忙看看是什么原因?</P>
<DIV class=quote><BR>unit Unit2;<BR>interface<BR>type<BR> myclass=class<BR> private<BR> Fstrname:string;<BR> public<BR> procedure setname(var str:string);<BR> published<BR> property ckname:String read Fstrname write setname;<BR>end;<BR>implementation<BR>procedure myclass.setname(var str:string);<BR><FONT color=#ff0000>begin</FONT><BR> Fstrname:=str;<BR>end;<BR>end.<BR></DIV> 除了begin外,属性只能是值传递的,不能用var的,另外如果不是练习,没必要使用函数,直接property ckname:String read Fstrname write Fstrname;就可以了。还有一个是 如果不是出于练习的目的,在实际中如不需要可视化 不用published。只有public,属性在最下面<BR> 谢谢版主,自己太粗心了[em01]
页:
[1]
