uopcstringenumerator.pas

来自「delphi 开发OPc工业通讯 delphi 开发OPc工业通讯」· PAS 代码 · 共 49 行

PAS
49
字号
//******************************************************************************
// sOPC created by ACHAT SOLUTIONS GmbH, http://www.achat-solutions.de/
//******************************************************************************
unit uOPCStringEnumerator;

interface

uses
  Classes, WinProcs, ComObj, ActiveX;

type
  sOPCStringEnumerator = class(TComObject, IEnumString)
  private
    nextIndex: integer;
    FList: TStringList;
    FFree: boolean;
  public
    constructor Create(const aList: TStringList; aFree: boolean = True);
    destructor Destroy; override;
    function Next(celt: Longint; out elt; pceltFetched: PLongint): HResult; stdcall;
    function Skip(celt: Longint): HResult; stdcall;
    function Reset: HResult; stdcall;
    function Clone(out enm: IEnumString): HResult; stdcall;
  end;

implementation

uses
  ComServ, OPCDA, uGlobals;

constructor sOPCStringEnumerator.Create(const aList: TStringList; aFree: boolean);
begin
  inherited Create;
  FList := aList;
  FFree := aFree;
  nextIndex := 0;
end;

destructor sOPCStringEnumerator.Destroy;
begin
  if FFree then FList.Free;
  inherited Destroy;
end;

function sOPCStringEnumerator.Next(celt: Longint; out elt; pceltFetched: PLongint): HResult;
var
 i: integer;
begin
  // celt mu

⌨️ 快捷键说明

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