Как создать сиглтон
Синглтон - шаблон проектирования, гарантирующий, что в приложении будет только один экземпляр некоторого класса и предоставляющий глобальную точку доступа к этому классу.
Все классы Delphi - наследники от TObject и все используют функцию класса NewInstance, которая выделяет память для экземпляра объекта. Важно, что этот метод виртуальный, и мы можем иземнить поведение до того, как будет занята память под новый экземпляр.
type TSingleton = class strict private class var Instance: TSingleton; public class function NewInstance: TObject; override; end; class function TSingleton.NewInstance: TObject; begin // Если один экземпляр создан, то новый Create будет возвращать указатель на созданный экземпляр. if not Assigned(Instance) then Instance := TSingleton(inherited NewInstance); Result := Instance; end;
Метки: