s2.model.ts2model.pas

来自「轉載的程序應用框架」· PAS 代码 · 共 137 行

PAS
137
字号
unit S2.Model.TS2Model;

interface

uses
  Classes, S2.Core.IS2Object, S2.Core.IS2Security, S2.Model.IS2Model, S2.Core.IS2SystemObject,
  S2.Model.IS2ModelFactory, S2.Tools.TS2Time, S2.Tools.IS2Time, S2.Tools.TS2Object;

type
  TS2Model = class(TDataModule, IS2Security, IS2Model, IS2Object)
  private
    _SystemObject: IS2SystemObject;
    _CreateTime: TS2Time;
  public
    procedure FreeModel; virtual;
    procedure InitModel; virtual;
    function GetSystemObject: IS2SystemObject; virtual;
  public  //  S2.Core.IS2Object
    function GetObjectName: string; virtual;
    function GetCaption: string; virtual;
    function ToString: string; virtual;    
    function IsActive: Boolean; virtual;
    function IsValid: Boolean; virtual;
  public  //  S2.Model.IS2Model
    function GetFactory: IS2ModelFactory; virtual;
    function IsAutoOpen: Boolean; virtual;
    function IsReadOnly: Boolean; virtual;
    procedure CloseModel; virtual;
    procedure OpenModel(O: TS2Object); virtual;
  public  //  S2.Core.IS2Security
    function GetCreateTime: IS2Time; virtual;
  public
    constructor Create(SystemObject: TComponent); 
    destructor Destroy; override;
  end;

  TS2ModelClass = class of TS2Model;

implementation

uses
  SysUtils, S2.Model.TS2SystemObject, S2.Error.S2AbstractException, S2.Model.TS2ServerDataModelFactory;

{$R *.dfm}

{ TS2Model }

procedure TS2Model.CloseModel;
begin

end;

constructor TS2Model.Create(SystemObject: TComponent);
begin
  inherited Create(SystemObject);

  _CreateTime := TS2Time.Create;
  
  if SystemObject is TS2SystemObject then
    _SystemObject := SystemObject as TS2SystemObject
  else
    SystemObject := nil;
end;

destructor TS2Model.Destroy;
begin
  if Assigned(_CreateTime) then FreeAndNil(_CreateTime);

  inherited;
end;

procedure TS2Model.FreeModel;
begin
end;

function TS2Model.GetCaption: string;
begin
  Result := ClassName;
end;

function TS2Model.GetCreateTime: IS2Time;
begin
  Result := _CreateTime;
end;

function TS2Model.GetFactory: IS2ModelFactory;
begin
  Result := GetGlobalSystemObject.GetServerDataModelFactory as TS2ServerDataModelFactory;
end;

function TS2Model.GetObjectName: string;
begin
  raise S2AbstractException.Create(ClassName, 'GetObjectName');
end;

function TS2Model.GetSystemObject: IS2SystemObject;
begin
  Result := GetGlobalSystemObject
end;

procedure TS2Model.InitModel;
begin

end;

function TS2Model.IsActive: Boolean;
begin
  Result := True;
end;

function TS2Model.IsAutoOpen: Boolean;
begin
  Result := False;
end;

function TS2Model.IsReadOnly: Boolean;
begin
  Result := False;
end;

function TS2Model.IsValid: Boolean;
begin
  Result := True;
end;

procedure TS2Model.OpenModel(O: TS2Object);
begin

end;

function TS2Model.ToString: string;
begin
  Result := GetCaption;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?