( ゚Д゚)ノ Delギコ猫のプログラミング相談室part2
753 :
Delギコ:
∧ ∧ /
(,,゚Д゚)< クラスフィールド?
|つ つ \
@ |
∪ ∪
ひらぽん氏が話題を負ってくれたので紹介してみる。
こういう事がやりたいんじゃないの?
2chのどこかで教えてもらったけど、どこか忘れた。
TMyClass = class(TObject)
private
FName: String;
public
constructor Create;
destructor Destroy; override;
class function ClassList: TObjectList;//クラスメソッド
property Name: String read FName write FName;
end;
{ TMyClass }
var
MyClassList: TObjectList; //Unit内Object
class function TMyClass.ClassList: TObjectList;
begin
Result := MyClassList;
//Unit内Objectをクラスメソッドを利用してアクセス
end;
constructor TMyClass.Create;
begin
MyClassList.Add(Self);
//クラスを生成するたびにListに登録
end;
destructor TMyClass.Destroy;
begin
MyClassList.Extract(Self);
//クラスを破棄するときにListから破棄
inherited;
end;
initialization
MyClassList := TObjectList.Create;
//Unit内Objectはここで生成
finalization
MyClassList.Free;
//Unit内Objectの破棄
end.