rm_jvinterpretervariants.pas

来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 68 行

PAS
68
字号
unit rm_JvInterpreterVariants;

interface

{$I rm_JVCL.INC}
{$IFDEF COMPILER6_UP}
uses
  Variants, SysUtils;

type
  TJvSimpleVariantType = class(TCustomVariantType)
  public
    procedure Clear(var V: TVarData); override;
    procedure Copy(var Dest: TVarData; const Source: TVarData;
      const Indirect: Boolean); override;
  end;

  TJvRecordVariantType = class(TJvSimpleVariantType);
  TJvObjectVariantType = class(TJvSimpleVariantType);
  TJvClassVariantType = class(TJvSimpleVariantType);
  TJvPointerVariantType = class(TJvSimpleVariantType);
  TJvSetVariantType = class(TJvSimpleVariantType);
  TJvArrayVariantType = class(TJvSimpleVariantType);

var
  VariantRecordInstance: TJvRecordVariantType;
  VariantObjectInstance: TJvObjectVariantType;
  VariantClassInstance: TJvClassVariantType;
  VariantPointerInstance: TJvPointerVariantType;
  VariantSetInstance: TJvSetVariantType;
  VariantArrayInstance: TJvArrayVariantType;
{$ENDIF COMPILER6_UP}

implementation

{$IFDEF COMPILER6_UP}
{ TJvSimpleVariantType }

procedure TJvSimpleVariantType.Clear(var V: TVarData);
begin
  SimplisticClear(V);
end;

procedure TJvSimpleVariantType.Copy(var Dest: TVarData;
  const Source: TVarData; const Indirect: Boolean);
begin
  SimplisticCopy(Dest, Source, Indirect);
end;

initialization
  VariantRecordInstance := TJvRecordVariantType.Create;
  VariantObjectInstance := TJvObjectVariantType.Create;
  VariantClassInstance := TJvClassVariantType.Create;
  VariantPointerInstance := TJvPointerVariantType.Create;
  VariantSetInstance := TJvSetVariantType.Create;
  VariantArrayInstance := TJvArrayVariantType.Create;

finalization
  FreeAndNil(VariantRecordInstance);
  FreeAndNil(VariantObjectInstance);
  FreeAndNil(VariantClassInstance);
  FreeAndNil(VariantPointerInstance);
  FreeAndNil(VariantSetInstance);
  FreeAndNil(VariantArrayInstance);
{$ENDIF COMPILER6_UP}

end.

⌨️ 快捷键说明

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