Singleton オブジェクトの作り方
94 Singleton 動作確認 Delphi2007 更新日 2010/06/23(水)

デザインパターンでいうところの Singleton パターンを使って
単一のインスタンス(オブジェクト)が
使用するときに必要になった時に生成されるものを作ることができます。

このやり方はVCLでは、Application Screen Printer オブジェクトなどで
使用されていて、よく使われるタイプのオブジェクトの作り方です。

クラスの利用者が生成・破棄のタイミングを考えなくても 
使えるようになっています。

────────────────────
interface 

function MyClass: TMyCLass; 

implementation 

var 
 instance: TMyClass; 

function MyClass: TMyCLass; 
begin 
 if instance = nil then 
  instance := TMyClass.Create; 
 Result := instance; 
end 

initialization
  instance := nil;

finalization 
 if instance <> nil then 
  instance.Free; 
────────────────────

MyClassを使用すると、最初に呼び出された時に生成され
生成されていたら後は勝手に破棄されます。