掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
クラスのメンバーの内容をスワップするには? (ID:6768)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
変数の内容のスワップは普通にできますが、 クラスのメンバーの内容をスワップするには どうすればよいのでしょうか? 必要な部分のみですが、 コードは大体下記のようになっています。 ---------------------------------------------- type TData = class protected FField: Integer; end; procedure TForm1.FormCreate(Sender: TObject); var Data: array[0..1] of TData; begin Data := TData.Create; TClass.swap; Data.Destroy; end; procedure TClass.swap; var Temp: TData; begin Temp := TData.Create; Temp.FField := Data[0].FField; Data[0].FField := Data[1].FField; Data[1].FField := Temp.FField; Temp.Destroy; end; ------------------------------------------- クラス型はアドレスを示してるだけなので(?)、 上記のコードではうまくいかないですよね。 参照先のアドレスが変わっているだけで、 つまりは上書きされてしまっているので。 (順を追って考えると混乱してきた(^^;) 値をスワップするにはどのようにしたらいいでしょうか? よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.