帮忙解释下这句话
property ChangeFormFont: Boolean
read FChangeFormFont write SetChangeFormFont default True;

解决方案 »

  1.   

    看一下<<参透Delphi>>吧.
    我觉得这本书对组件讲的不错
      

  2.   

    谁能简单的就READ,WRITE说几句吗?真的一点都不知它们是用来做什么的.
      

  3.   

    就是说ChangeFormFont是一个属性,类型是boolean,
    当写xxx:=ChangeFormFont;的时候相当于xxx:=FChangeFormFont; 
    当写ChangeFormFont:=xxx;的时候相当于SetChangeFormFont(xxx);每个属性都有一个read说明符、一个write说明符或者两个都有。它们就是被调用的访问说明符(access specifiers)。访问说明符具有如下形式read fieldOrMethod
    write fieldOrMethod如果fieldOrMethod在同一个类中声明过,那么它必需出现在属性声明之前。如果它声明于祖先类中,那么它必需在后裔类中是可见的;也就是说,如果祖先类的声明在不同的单元中,那么这里的fieldOrMethod不能是一个私有的域或方法。如果fieldOrMethod是一个域,那么它必需与属性具有相同的类型。如果fieldOrMethod是一个方法,那么不能被重载。而且,公布属性的访问方法必需使用缺省的register调用约定。
     
    在read说明符中,如果fieldOrMethod是一个方法,那么它必需是一个无参数的函数并且函数返回的类型与属性的类型相同。
     
    在write说明符中,如果fieldOrMethod是一个方法,那么它必需是一个过程,并且该过程接受一个单独的值参数或const参数,并且参数类型与属性类型相同。
     
    当属性在表达式中被引用时,属性的值通过列于read说明符中的域或方法读出。当属性在赋值语句中被引用时(属性位于赋值符号的左边),属性的值通过列于write说明符中的域或方法被写入。属性声明中只包括read说明符的属性是只读(read-only)属性;属性声明中只包括write说明符的属性是只写(write-only)属性。向只读属性赋值或者读取只写属性的值都将出错。