⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s2.tools.ts2dictitem.pas

📁 轉載的程序應用框架
💻 PAS
字号:
unit S2.Tools.TS2DictItem;

interface

uses
  S2.Core.IS2Cloneable, S2.Tools.IS2DictItem;

type
  TS2DictItem = class(TInterfacedObject, IS2Cloneable, IS2DictItem)
  private 
    Name: string;
    O: TObject;
    _IsClone: Boolean;
  public  //  S2.Core.IS2Cloneable
    function Clone: IS2Cloneable; virtual;
    function IsClone: Boolean; virtual;    
  public  //  S2.Tools.IS2DictItem
    function GetName: string; virtual;
    function GetObject: TObject; virtual;
  public
    constructor Create(O: TObject; const Name: string);
    destructor Destroy; override;
  end;

implementation

uses
  SysUtils;

{ TS2DictItem }

function TS2DictItem.Clone: IS2Cloneable;
var
  NewObject: TS2DictItem;
begin
  NewObject := TS2DictItem.Create(O, Name);
  NewObject._IsClone := True;
  Result := NewObject;
end;

function TS2DictItem.GetName: string;
begin
  Result := Name;
end;

function TS2DictItem.GetObject: TObject;
begin
  Result := O;
end;

constructor TS2DictItem.Create(O: TObject; const Name: string);
begin
  Self.O := O;
  Self.Name := Name;
  _IsClone := False;
end;

function TS2DictItem.IsClone: Boolean;
begin
  Result := _IsClone;
end;

destructor TS2DictItem.Destroy;
begin
  if not IsClone then FreeAndNil(O);
  inherited;
end;

end.

⌨️ 快捷键说明

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