最近のDelphiではクラス変数が使えます。
Delphi 7以降の言語およびコンパイラの新機能
Delphi2009で試した。
program test; {$APPTYPE CONSOLE} type TMyClass = class public procedure Say; class var Message: String; end; var instance: TMyClass; procedure TMyClass.Say; begin WriteLn(TMyClass.Message); end; begin instance := TMyClass.Create; try TMyClass.Message := 'foo'; instance.Say; TMyClass.Message := 'Hello!'; instance.Say; finally instance.Free end; end.
実行結果
foo Hello!