以下是头文件中的示例代码(缺少构造函数):
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 提供的所有文档。
我很困惑,我认为这可能是一个编译器错误。
如果我通过引用传递参数没有区别。
想法?