以下は、ヘッダー ファイルからのサンプル コードです (コンストラクターがありません)。
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 で提供されるすべてのドキュメントを確認しました。
コンパイラのバグかもしれないと思うほど混乱しています。
参照によって引数を渡しても違いはありません。
アイデア?