有些问题在学习时遇到了,通过查找资料还是不是很全,希望大牛们能帮忙解答下,感谢!
 
  ①属性property 设置时,发现数组类型的属性设置出现问题,也不能write,查找资料有很多说法,不甚明了。
  ②属性property 设置时,发现record类型的属性,设置了wirte也不能修改参数,属性只能只读。
  ③属性property 设置时,发现枚举型的属性总是会报错。请大牛们稍微解释下delphi里,对象的属性接口时,有哪些特别容易忽略的点需要注意的,由于研究不深,请求帮助

解决方案 »

  1.   

    你这3个问题, 只有第2个算是比较特殊的, record作为属性存在时, 不能针对记录里某一单独数值做修改, 需要先获取该record整体值的copy副本, 然后修改此副本后再吧整个record写回去:var x:TR;
    x := abc.propertyx;
    x.a := xxx;
    x.b := xxx;
    abc.propertyx := x;
    至于1和3, 我觉得是你的用法有问题, 建议你贴出你的代码来再看问题
      

  2.   

    property表明上看赋值的形式跟普通变量一样,但本质上来说,取值是通过一过function来取值, 赋值是通过一个procedure来进行赋值