【发布时间】:2013-01-16 10:49:35
【问题描述】:
以下是头文件中的示例代码(缺少构造函数):
class MyItem
{
// blah blah
};
class MyClass
{
public:
__property MyItem Item = {read=GetItem, write=SetItem};
private
MyItem FItem;
MyItem GetItem(void);
void SetItem(const MyItem AItem);
}
在cpp文件中:
void MyClass::SetItem(const MyItem AItem)
{
FItem = AItem;
}
我已经排除了 get 方法,因为它可以正常工作。
由于某种原因 set 方法不起作用。
我肯定在某些测试代码中为属性赋值。
如果我尝试在 set 方法中放置断点,它不会放置它,因为代码已被优化,因为它从未被调用。
如果我用字段变量本身替换 Set 方法,它会被写入正常。
我已经阅读了 XE 提供的所有文档。
我很困惑,我认为这可能是一个编译器错误。
如果我通过引用传递参数没有区别。
想法?
【问题讨论】:
-
嗯..如果你在属性集上放一个断点并单步执行,会发生什么?
标签: c++ properties c++builder rad