亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? opc_ae.pas

?? DELPHI編寫OPC(一): 編寫OPC客戶端程序
?? PAS
?? 第 1 頁 / 共 2 頁
字號:

{*******************************************************}
{                                                       }
{       OPC Alarms and Events 1.10                      }
{                                                       }
{       Delphi conversion generated and supplied by     }
{       Mike Dillamore                                  }
{       OPC Programmers' Connection                     }
{       http://www.opcconnect.com/                      }
{       mailto:opc@opcconnect.com                       }
{                                                       }
{*******************************************************}

unit OPC_AE;

{$IFDEF VER150}
{$WARN UNSAFE_TYPE OFF}
{$ENDIF}

// ************************************************************************ //
// Type Lib: opc_aeps.dll
// IID\LCID: {65168844-5783-11D1-84A0-00608CB8A7E9}\0
// ************************************************************************ //

interface

uses
  Windows, ActiveX, OPCtypes;

// *********************************************************************//
// GUIDS declared in the TypeLibrary                                    //
// *********************************************************************//
const
  LIBID_OPC_AE: TGUID = '{65168844-5783-11D1-84A0-00608CB8A7E9}';
  IID_IOPCEventServer: TIID = '{65168851-5783-11D1-84A0-00608CB8A7E9}';
  IID_IOPCEventSubscriptionMgt: TIID = '{65168855-5783-11D1-84A0-00608CB8A7E9}';
  IID_IOPCEventAreaBrowser: TIID = '{65168857-5783-11D1-84A0-00608CB8A7E9}';
  IID_IOPCEventSink: TIID = '{6516885F-5783-11D1-84A0-00608CB8A7E9}';
  IID_IOPCEventServer2: TIID = '{71BBE88E-9564-4BCD-BCFC-71C558D94F2D}';
  IID_IOPCEventSubscriptionMgt2: TIID = '{94C955DC-3684-4CCB-AFAB-F898CE19AAC3}';

  OPCEventServerCATID: TGUID = '{58E13251-AC87-11D1-84D5-00608CB8A7E9}';

// *********************************************************************//
// Declaration of Enumerations defined in Type Library                  //
// *********************************************************************//
type
  OPCAEBROWSEDIRECTION = TOleEnum;
const
  OPCAE_BROWSE_UP   = 1;
  OPCAE_BROWSE_DOWN = 2;
  OPCAE_BROWSE_TO   = 3;

type
  OPCAEBROWSETYPE = TOleEnum;
const
  OPC_AREA   = 1;
  OPC_SOURCE = 2;

type
  OPCEVENTSERVERSTATE = TOleEnum;
const
  OPCAE_STATUS_RUNNING    = 1;
  OPCAE_STATUS_FAILED     = 2;
  OPCAE_STATUS_NOCONFIG   = 3;
  OPCAE_STATUS_SUSPENDED  = 4;
  OPCAE_STATUS_TEST       = 5;
  OPCAE_STATUS_COMM_FAULT = 6;

// *********************************************************************//
// OPC Quality flags                                                    //
// *********************************************************************//
// Masks for extracting quality subfields
// (note 'status' mask also includes 'Quality' bits)
  OPC_QUALITY_MASK           = $C0;
  OPC_STATUS_MASK            = $FC;
  OPC_LIMIT_MASK             = $03;

// Values for QUALITY_MASK bit field
  OPC_QUALITY_BAD            = $00;
  OPC_QUALITY_UNCERTAIN      = $40;
  OPC_QUALITY_GOOD           = $C0;

// STATUS_MASK Values for Quality = BAD
  OPC_QUALITY_CONFIG_ERROR   = $04;
  OPC_QUALITY_NOT_CONNECTED  = $08;
  OPC_QUALITY_DEVICE_FAILURE = $0C;
  OPC_QUALITY_SENSOR_FAILURE = $10;
  OPC_QUALITY_LAST_KNOWN     = $14;
  OPC_QUALITY_COMM_FAILURE   = $18;
  OPC_QUALITY_OUT_OF_SERVICE = $1C;

// STATUS_MASK Values for Quality = UNCERTAIN
  OPC_QUALITY_LAST_USABLE    = $44;
  OPC_QUALITY_SENSOR_CAL     = $50;
  OPC_QUALITY_EGU_EXCEEDED   = $54;
  OPC_QUALITY_SUB_NORMAL     = $58;

// STATUS_MASK Values for Quality = GOOD
  OPC_QUALITY_LOCAL_OVERRIDE = $D8;

// State bit masks
  OPC_CONDITION_ENABLED = $0001;
  OPC_CONDITION_ACTIVE  = $0002;
  OPC_CONDITION_ACKED   = $0004;

// bit masks for m_wChangeMask
  OPC_CHANGE_ACTIVE_STATE = $0001;
  OPC_CHANGE_ACK_STATE    = $0002;
  OPC_CHANGE_ENABLE_STATE = $0004;
  OPC_CHANGE_QUALITY      = $0008;
  OPC_CHANGE_SEVERITY     = $0010;
  OPC_CHANGE_SUBCONDITION = $0020;
  OPC_CHANGE_MESSAGE      = $0040;
  OPC_CHANGE_ATTRIBUTE    = $0080;

// dwEventType
  OPC_SIMPLE_EVENT    = $0001;
  OPC_TRACKING_EVENT  = $0002;
  OPC_CONDITION_EVENT = $0004;
  OPC_ALL_EVENTS      = OPC_SIMPLE_EVENT or OPC_TRACKING_EVENT or
    OPC_CONDITION_EVENT;

// QueryAvailableFilters() bit masks
  OPC_FILTER_BY_EVENT    = $0001;
  OPC_FILTER_BY_CATEGORY = $0002;
  OPC_FILTER_BY_SEVERITY = $0004;
  OPC_FILTER_BY_AREA     = $0008;
  OPC_FILTER_BY_SOURCE   = $0010;

type

// *********************************************************************//
// Forward declaration of interfaces defined in Type Library            //
// *********************************************************************//
  IOPCEventServer = interface;
  IOPCEventSubscriptionMgt = interface;
  IOPCEventAreaBrowser = interface;
  IOPCEventSink = interface;
  IOPCEventServer2 = interface;
  IOPCEventSubscriptionMgt2 = interface;

// *********************************************************************//
// Declaration of structures, unions and aliases.                       //
// *********************************************************************//
  ONEVENTSTRUCT = record
    wChangeMask:          Word;
    wNewState:            Word;
    szSource:             POleStr;
    ftTime:               TFileTime;
    szMessage:            POleStr;
    dwEventType:          DWORD;
    dwEventCategory:      DWORD;
    dwSeverity:           DWORD;
    szConditionName:      POleStr;
    szSubconditionName:   POleStr;
    wQuality:             Word;
    wReserved:            Word;     // added to ensure natural alignment
    bAckRequired:         BOOL;
    ftActiveTime:         TFileTime;
    dwCookie:             DWORD;
    dwNumEventAttrs:      DWORD;
    pEventAttributes:     POleVariantArray;
    szActorID:            POleStr;
  end;
  PONEVENTSTRUCT = ^ONEVENTSTRUCT;
  ONEVENTSTRUCTARRAY = array[0..65535] of ONEVENTSTRUCT;
  PONEVENTSTRUCTARRAY = ^ONEVENTSTRUCTARRAY;

  OPCEVENTSERVERSTATUS = record
    ftStartTime:          TFileTime;
    ftCurrentTime:        TFileTime;
    ftLastUpdateTime:     TFileTime;
    dwServerState:        OPCEVENTSERVERSTATE;
    wMajorVersion:        Word;
    wMinorVersion:        Word;
    wBuildNumber:         Word;
    wReserved:            Word;     // added to ensure natural alignment
    szVendorInfo:         POleStr;
  end;
  POPCEVENTSERVERSTATUS = ^OPCEVENTSERVERSTATUS;

  OPCCONDITIONSTATE = record
    wState:               Word;
    wReserved1:           Word;     // added to ensure natural alignment
    szActiveSubCondition: POleStr;
    szASCDefinition:      POleStr;
    dwASCSeverity:        DWORD;
    szASCDescription:     POleStr;
    wQuality:             Word;
    wReserved2:           Word;     // added to ensure natural alignment
    ftLastAckTime:        TFileTime;
    ftSubCondLastActive:  TFileTime;
    ftCondLastActive:     TFileTime;
    ftCondLastInactive:   TFileTime;
    szAcknowledgerID:     POleStr;
    szComment:            POleStr;
    dwNumSCs:             DWORD;
    pszSCNames:           POleStrList;
    pszSCDefinitions:     POleStrList;
    pdwSCSeverities:      PDWORDARRAY;
    pszSCDescriptions:    POleStrList;
    dwNumEventAttrs:      DWORD;
    pEventAttributes:     POleVariantArray;
    pErrors:              PResultList;
  end;
  POPCCONDITIONSTATE = ^OPCCONDITIONSTATE;

// *********************************************************************//
// Interface: IOPCEventServer
// GUID:      {65168851-5783-11D1-84A0-00608CB8A7E9}
// *********************************************************************//
  IOPCEventServer = interface(IUnknown)
    ['{65168851-5783-11D1-84A0-00608CB8A7E9}']
    function GetStatus(
      out   ppEventServerStatus:        POPCEVENTSERVERSTATUS):
            HResult; stdcall;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区和二区| 欧美成人三级电影在线| 国产一区二区免费看| 欧美96一区二区免费视频| 视频一区在线视频| 舔着乳尖日韩一区| 美女国产一区二区三区| 奇米色一区二区| 蜜桃在线一区二区三区| 日韩电影一区二区三区四区| 蜜臀久久99精品久久久久宅男| 日韩国产高清在线| 精品午夜久久福利影院| 国产高清无密码一区二区三区| 国产99久久久久| 色综合久久九月婷婷色综合| 在线观看日韩电影| 欧美精品三级日韩久久| 精品三级在线看| 久久精品亚洲麻豆av一区二区 | 成人av动漫网站| 91丨porny丨中文| 91福利资源站| 欧美tk—视频vk| 国产精品美女久久久久久久久久久| 久久精品亚洲一区二区三区浴池| 欧美激情综合网| 亚洲免费av在线| 久久国产免费看| 狠狠狠色丁香婷婷综合激情| 国产伦理精品不卡| 一本色道a无线码一区v| 欧美一区国产二区| 国产精品国产三级国产a| 亚洲成人综合在线| 国产一区二区三区四区五区美女| 成人国产精品免费网站| 在线免费视频一区二区| 精品日韩一区二区三区免费视频| 综合亚洲深深色噜噜狠狠网站| 日韩成人dvd| 99vv1com这只有精品| 日韩精品一区二区在线| 一区二区三区精品视频| 捆绑调教美女网站视频一区| 不卡视频在线观看| 日韩一区二区三区高清免费看看| 国产精品美女久久久久高潮| 日韩中文字幕亚洲一区二区va在线| 国产suv一区二区三区88区| 欧美精品第1页| 日韩码欧中文字| 国产一区二区三区免费| 欧美伦理电影网| 亚洲欧美日韩国产综合| 成人激情综合网站| 精品国产伦一区二区三区免费 | 日韩欧美一级二级三级久久久| 亚洲国产精品激情在线观看| 奇米一区二区三区| 欧美性大战xxxxx久久久| 一区在线观看免费| 国产大陆精品国产| 国产视频一区二区在线观看| 久久精品国产成人一区二区三区| 欧美午夜理伦三级在线观看| 亚洲精选免费视频| 91视视频在线观看入口直接观看www | 国产精品福利一区二区| 久久99日本精品| 日韩视频免费观看高清完整版在线观看| 亚洲日本在线a| 91色porny| 亚洲色图.com| 99久久国产综合精品色伊| 中文字幕成人av| 丰满少妇久久久久久久| 欧美—级在线免费片| 国产黄色91视频| 国产精品久久久久久久裸模 | 亚洲欧洲一区二区三区| 成人午夜精品在线| 亚洲欧美中日韩| 91一区二区三区在线观看| 亚洲精品中文在线观看| 欧美日韩国产a| 青青草国产精品亚洲专区无| 日韩欧美在线不卡| 国产精品一区三区| 中文字幕一区视频| 欧美日韩一区二区三区在线| 午夜成人免费电影| 欧美精品一区二区三区四区| 国产黄色91视频| 亚洲精品v日韩精品| 欧美日韩大陆一区二区| 激情综合网av| 国产精品家庭影院| 欧日韩精品视频| 久久99国产精品免费| 欧美激情中文字幕一区二区| 91麻豆福利精品推荐| 首页国产欧美日韩丝袜| 欧美国产国产综合| 欧美日韩亚洲另类| 狠狠色丁香九九婷婷综合五月| 中文字幕成人网| 欧美美女网站色| 丁香六月久久综合狠狠色| 亚洲成a人v欧美综合天堂下载| 精品国产免费视频| 欧美网站一区二区| 国产又黄又大久久| 亚洲国产欧美一区二区三区丁香婷| 欧美一二三区在线| 色域天天综合网| 国产精品中文字幕日韩精品| 亚洲欧美日韩综合aⅴ视频| 欧美一区二区精品在线| 91成人免费电影| 国产精品一二三四五| 日日夜夜一区二区| 综合中文字幕亚洲| 久久九九国产精品| 欧美一级理论片| 色88888久久久久久影院野外| 老司机精品视频在线| 亚洲黄色免费电影| 亚洲国产成人私人影院tom| 日韩欧美电影在线| 欧洲精品在线观看| 色综合久久88色综合天天6| 国产美女一区二区三区| 久久精品国产久精国产| 天涯成人国产亚洲精品一区av| 国产精品视频第一区| 亚洲精品一区二区在线观看| 欧美丝袜丝nylons| 色乱码一区二区三区88| 成人久久18免费网站麻豆| 狠狠色丁香久久婷婷综| 日韩av一区二区三区| 一区二区三区日韩欧美精品| 中文字幕va一区二区三区| 久久久影视传媒| 国产性色一区二区| 久久九九影视网| 久久女同精品一区二区| 精品国产成人系列| 26uuu精品一区二区| 日韩三级电影网址| 日韩一区二区免费高清| 日韩欧美一级片| 久久综合久久综合久久综合| 欧美一激情一区二区三区| 欧美日韩久久久一区| 欧美人狂配大交3d怪物一区| 欧美在线视频日韩| 欧美日韩国产电影| 这里只有精品电影| 日韩欧美一级片| 久久亚洲一级片| 中文无字幕一区二区三区| 久久精品综合网| 亚洲人吸女人奶水| 亚洲精品老司机| 天堂av在线一区| 韩国女主播成人在线| 国产成人免费视| 99久久精品国产麻豆演员表| 色婷婷久久一区二区三区麻豆| 在线一区二区三区做爰视频网站| 欧美亚一区二区| 欧美一级久久久久久久大片| 久久久噜噜噜久久人人看 | 在线观看中文字幕不卡| 69p69国产精品| 国产日韩欧美综合一区| 亚洲柠檬福利资源导航| 日本不卡123| 国产伦精品一区二区三区免费迷 | 亚洲成人久久影院| 美女网站在线免费欧美精品| 国产不卡视频在线播放| 91成人在线精品| 精品久久久久久久一区二区蜜臀| 日本一区二区久久| 三级欧美韩日大片在线看| 国产a久久麻豆| 欧美一区二区啪啪| 国产精品九色蝌蚪自拍| 日韩av高清在线观看| 99久久99久久精品国产片果冻 | 国产99久久久国产精品免费看| 91在线精品秘密一区二区| 精品国免费一区二区三区| 亚洲欧美日韩一区| 国产麻豆视频一区| 91精品婷婷国产综合久久| 国产精品国产三级国产aⅴ原创|