( ゚Д゚)ノ Delギコ猫のプログラミング相談室part4

このエントリーをはてなブックマークに追加
51Delギコ
  ∧∧∩   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (,,゚Д゚)ノ < 現時点の経験が少ないとか言われたけど
  U  /   \ 気にしないニャー
@|  |
  ∪∪

経験豊富な皆様に質問ニャー

例の実行時に設計時コンポーネントを置き換えるコードをいろいろ
コネってみました。コネコネ

procedure TForm1.FormCreate(Sender: TObject);
begin
 BarPanel1 := TBarPanel.CreateClone(Panel1);
end;


constructor TMyPanel.CreateClone(Original: TPanel);
var
 ScrollInfo: TScrollInfo;
begin
 inherited Create(Original.Owner);

 //この辺りで各種プロパティをOriginalからSelfにコピー
 //つまりAssignの機能
 Self.Parent  := Original.Parent;
 Self.BoundsRect := Original.BoundsRect;
 Self.Anchors := Original.Anchors;

 Original.Free;
end;

ここでこのPanelに対するAssign処理をもっと楽にコード書く方法は
ないでしょうか。

Panel の所有すRTTIの情報をすべてループして
異なっているパラメータがあれば
MyPanel側へコピーしたりするコードが知りたいです。

Propertyのいくつかは設定順番が必要かも知れませんが
それは除外させておいたり
実際のPanel生成処理順と同じように設定できると
よいと思うです。

  ∧ ∧    /
  (,,゚Д゚)  <  よろしくー
  |⊃ ,⊃   \
@|  |
  ∪∪