Delphiでクラスを作る際には、すべてのクラスの派生元となる TObject を理解するのが良さそう。
オブジェクトを生成すると、大体こんな順序でメソッドが呼び出される。
constructor Create; procedure AfterConstruction;
オブジェクトを破棄する際には、この順序でメソッドが呼び出される。
procedure BeforeDestruction; destructor Destroy; virtual;
Delphi6のヘルプによると、クラスが C++Builder から使用される場合は AfterConstruction と BeforeDestruction をオーバーライドすることが重要と書いてある。C++Builderから使われるかどうかに関係なく、親クラスのコンストラクタに渡される引数を使いたいとき以外は、AfterConstruction と BeforeDestruction を利用するほうがいいような気がする。と思ったが、そのクラスが継承されてしまった場合は、AfterConstruction, BeforeDestruction の使用は危険なのか? 呼び出される順序について何を考慮すべきなんだ? あー、まったくわからん。
tags: Delphi zurazure
Posted by NI-Lab. (@nilab)