コレクション内のオブジェクトの保存と削除を管理するという点で、%Library.RelationshipObject に似たコレクション クラスを作成しようとしています。これを独自のオブジェクトで柔軟に行えるようにしたいので、関係キーワードを使用したり、%Library.RelationshipObject クラスをサブクラス化したりしたくありません。
このコレクションを保持している親オブジェクトで独自の Save() および Delete() メソッドを呼び出すことができず、コレクション クラスを呼び出させることができません (そして、クラスに %Save() の代わりに Save() を呼び出すようにするだけです)。 %Save() を直接呼び出します。
私がしようとしているのは、コレクション クラスと親クラスで %OnAddToSaveSet メソッドを使用することです。親クラス %OnAddToSaveSet が呼び出されると、親クラスはコレクション クラスを保存セットに入れます。コレクション クラス呼び出しは、必要に応じてコレクション内の項目を保存および削除します。
私のコレクション クラスでこれを行う正しい方法は、%OnAddToSaveSet() メソッドを使用して保存セットに保存するコレクション項目を追加し、%Delete() を使用して削除する必要がある項目を削除することです。設定
%objTX(5,+oref) = oref
削除されたアイテムごとに。
これは正しい方法ですか?私は何かを逃したことがありますか?これはサポートされていますか? サポートされていないものをより適切にサポートされているものに変更できますか?