unit EFT_TLB;

// ************************************************************************ //
// WARNUNG                                                                    
// -------                                                                    
// Die in dieser Datei deklarierten Typen wurden aus Daten einer Typbibliothek
// generiert. Wenn diese Typbibliothek explizit oder indirekt (ueber eine     
// andere Typbibliothek) reimportiert wird oder wenn der Befehl            
// 'Aktualisieren' im Typbibliotheks-Editor waehrend des Bearbeitens der     
// Typbibliothek aktiviert ist, wird der Inhalt dieser Datei neu generiert und 
// alle manuell vorgenommenen Aenderungen gehen verloren.                                        
// ************************************************************************ //

// PASTLWTR : 1.2
// Datei generiert am 20.11.2015

// ************************************************************************  //
// Typbib: eftoa.dll V1.14.001
// LIBID: {7743F7F8-DD93-4159-B424-913FAC5D7A55}
// LCID: 0
// Hilfedatei: 
// Hilfe-String: SIX Payment Services EFT/MPD Library
// DepndLst: 
//   (1) v2.0 stdole, (stdole2.tlb)
// Fehler
//   Hinweis: Parameter 'function' im IEFTDriver.Transaction geändert zu 'function_'
//   Hinweis: Parameter 'function' im IEFTDriver.Validation geändert zu 'function_'
//   Hinweis: Element 'function' von 'IEFTDriver' geändert zu 'function_'
//   Hinweis: Element 'Property' von 'IEFTDriver' geändert zu 'Property_'
//   Hinweis: Element 'Class' von 'IEFTDevice' geändert zu 'Class_'
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit muss ohne Typueberpruefung fuer Zeiger compiliert werden. 
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
interface

uses Windows, ActiveX, Classes, Graphics, OleServer, StdVCL, Variants;
  

// *********************************************************************//
// In dieser Typbibliothek deklarierte GUIDS . Es werden folgende        
// Praefixe verwendet:                                                     
//   Typbibliotheken     : LIBID_xxxx                                      
//   CoClasses          : CLASS_xxxx                                      
//   DISPInterfaces     : DIID_xxxx                                       
//   Nicht-DISP-Interfaces: IID_xxxx                                        
// *********************************************************************//
const
  // Haupt- und Nebenversionen der Typbibliothek
  EFTMajorVersion = 1;
  EFTMinorVersion = 6;

  LIBID_EFT: TGUID = '{7743F7F8-DD93-4159-B424-913FAC5D7A55}';

  DIID_IEFTDriverEvents: TGUID = '{04BB0907-6339-4A04-9BCC-2F9604D8CEC4}';
  IID_IEFTDriverEventsU: TGUID = '{5B5022AF-3666-4F81-83DD-2CCAF5E9D824}';
  DIID_IEFTDriverEventsUD: TGUID = '{4BEC35EB-F751-405F-9E49-37C4D766BA13}';
  IID_IEFTDriver: TGUID = '{E534E876-EA58-4FDB-B3A7-E2DA24022002}';
  CLASS_EFTDriver: TGUID = '{C1EDECF8-AA39-48E2-BBDB-D043B1E21CB3}';
  IID_IEFTReceipt: TGUID = '{7DE1FBE5-77D4-43F1-8A1F-8890381315BE}';
  IID_IEFTApplications: TGUID = '{7DE1FBE6-77D4-43F1-8A1F-8890381315BE}';
  IID_IEFTApplication: TGUID = '{B9648375-6BE1-4E54-8DBC-A023AA107031}';
  IID_IEFTDevices: TGUID = '{23CF8E60-C161-4C4F-9635-1EABB2E5FEDB}';
  IID_IEFTDevice: TGUID = '{34A1F211-C79B-466D-8659-45D8F85F430F}';

// *********************************************************************//
// Deklaration von in der Typbibliothek definierten  Aufzählungen                    
// *********************************************************************//
// Konstanten für enum EFTStatusCode
type
  EFTStatusCode = TOleEnum;
const
  EFT_S_IDLE = $00000000;
  EFT_S_CONNECTION_PENDING = $00000001;
  EFT_S_CONNECTED = $00000002;
  EFT_S_OPERATION_PENDING = $00000003;
  EFT_S_EXCEPTION = $00000004;
  EFT_S_PREPARED = $00000005;

// Konstanten für enum EFTComletedCommandCode
type
  EFTComletedCommandCode = TOleEnum;
const
  EFT_CC_NO_RESPONSE = $00000000;
  EFT_CC_OPEN = $00000001;
  EFT_CC_CLOSE = $00000002;
  EFT_CC_TRANSACTION = $00000003;
  EFT_CC_COMMIT = $00000004;
  EFT_CC_PARTIAL_COMMIT = $00000005;
  EFT_CC_QUERY_STATUS = $00000006;
  EFT_CC_BALANCE = $00000007;
  EFT_CC_DEVICE_CONTROL = $00000008;
  EFT_CC_ICC_CONTROL = $00000009;
  EFT_CC_VALIDATION = $0000000A;
  EFT_CC_DEVICE_ACCESS = $0000000B;
  EFT_CC_PRINT = $0000000C;

// Konstanten für enum EFTTransactionOption
type
  EFTTransactionOption = TOleEnum;
const
  EFT_XOPT_USE_TRACK2 = $00000001;
  EFT_XOPT_USE_TRACK3 = $00000002;
  EFT_XOPT_TIPPABLE = $00000004;
  EFT_XOPT_PARTIALCOMMITABLE = $00000008;
  EFT_XOPT_ENABLE_DCC = $00000010;

// Konstanten für enum EFTDeviceStatus
type
  EFTDeviceStatus = TOleEnum;
const
  EFT_DEVICE_CLOSED = $00000000;
  EFT_DEVICE_OPEN = $00000001;
  EFT_DEVICE_BUSY = $00000002;
  EFT_DEVICE_NO_ANSWER = $00000003;
  EFT_DEVICE_NOT_INIT = $00000004;
  EFT_DEVICE_PROBLEM_ON_START = $00000005;
  EFT_DEVICE_CARD_LEFT = $00000006;
  EFT_DEVICE_NO_ANSWER_SEVERE = $00000007;

// Konstanten für enum EFTDCCStatus
type
  EFTDCCStatus = TOleEnum;
const
  EFT_DCC_NO_DCC = $00000000;
  EFT_DCC_INIT_PHASE1 = $00000001;
  EFT_DCC_PHASE1_OK = $00000002;
  EFT_DCC_CONTINUE_DCC = $00000003;
  EFT_DCC_CONTINUE_LOCAL = $00000004;
  EFT_DCC_AUTHORISATION_DCC = $00000005;
  EFT_DCC_AUTHORISATION_LOCAL = $00000006;

// Konstanten für enum EFTUseMode
type
  EFTUseMode = TOleEnum;
const
  EFT_UM_EXCLUSIVE = $00000000;
  EFT_UM_SHARED = $00000001;
  EFT_UM_EMERGENCY = $FFFFFFFF;
  EFT_UM_NORMAL = $00000000;

// Konstanten für enum EFTDeviceReaderStatus
type
  EFTDeviceReaderStatus = TOleEnum;
const
  EFT_READER_EMPTY = $00000000;
  EFT_READER_LOADED = $00000001;
  EFT_READER_EJECTED = $00000002;
  EFT_READER_CARD_RETENSION = $00000003;
  EFT_READER_LOADED_WITH_BRAND_INFO = $00000004;

// Konstanten für enum EFTActivationState
type
  EFTActivationState = TOleEnum;
const
  EFT_SHIFT_CLOSED = $00000000;
  EFT_SHIFT_OPEN = $00000001;

// Konstanten für enum EFTAutoMode
type
  EFTAutoMode = TOleEnum;
const
  EFT_AMODE_NULL = $00000000;
  EFT_AMODE_DEFAULT = $00000001;
  EFT_AMODE_TEST_CONNECTION = $00000002;
  EFT_AMODE_TEST_CARD_IN_IDLE = $00000004;
  EFT_AMODE_TEST_CARD_BEFORE_TRX = $00000008;
  EFT_AMODE_FORCE_CARD_BEFORE_TRX = $00000010;
  EFT_AMODE_VEZP_NO_COUNTER_PICKUP = $00000020;
  EFT_AMODE_BALANCE_FROM_DRIVER = $00000040;
  EFT_AMODE_ASSUME_DEVICE_PRESENT = $00000080;
  EFT_AMODE_AUTO_ACTIVATE = $00000100;
  EFT_AMODE_AUTOMAT = $00000200;
  EFT_AMODE_AUTOMAT_AcceptCardFirst = $00000400;
  EFT_AMODE_AUTOMAT_ReadBrands = $00000800;
  EFT_AMODE_AUTOMAT_ReadBrandsInTrx = $00001000;
  EFT_AMODE_AUTOMAT_AllowStopOnTrm = $00002000;
  EFT_AMODE_AUTOMAT_WithContactLess = $00004000;
  EFT_AMODE_NO_AUTO_LOGIN = $00008000;

// Konstanten für enum EFTIccCommandCode
type
  EFTIccCommandCode = TOleEnum;
const
  EFT_ICC_POWER_UP = $00000000;
  EFT_ICC_POWER_DOWN = $00000001;
  EFT_ICC_RESET = $00000002;
  EFT_ICC_APDU = $00000003;

// Konstanten für enum EFTReceiptOption
type
  EFTReceiptOption = TOleEnum;
const
  EFT_RCP_SUPPRESS_HEADER = $00000001;
  EFT_RCP_PRINT_DOP = $00000002;
  EFT_RCP_SUPPRESS_SIGNATURE = $00000004;
  EFT_RCP_SMALL_FORMAT = $00000008;
  EFT_RCP_SUPERSMALL_FORMAT = $00000010;
  EFT_RCP_WITH_CONTROL_CHARS = $00000020;
  EFT_RCP_WITH_MERCHANT_RECEIPT = $00000040;
  EFT_RCP_SUPPRESS_ECR_INFORMATION = $00000080;
  EFT_RCP_SUPPRESS_EFT_INFORMATION = $00000100;
  EFT_RCP_COMPACT_FORMAT = $00000200;
  EFT_RCP_SUPER_COMPACT_FORMAT = $00000400;
  EFT_RCP_ULTRA_COMPACT_FORMAT = $00000800;
  EFT_RCP_SUPPRESS_EFT_DCCDISCLAIMERTEXT = $00001000;
  EFT_RCP_SUPPRESS_EFT_FEEDISCLAIMERTEXT = $00002000;

// Konstanten für enum EFTSignatureFlags
type
  EFTSignatureFlags = TOleEnum;
const
  EFT_SGF_NO_SIGNATURE = $00000000;
  EFT_SGF_CUSTOMER_SIG = $00000001;
  EFT_SGF_MERCHANT_SIG = $00000002;

// Konstanten für enum EFTDeviceMsgCode
type
  EFTDeviceMsgCode = TOleEnum;
const
  EFT_DC_Display = $00000000;
  EFT_DC_ClearDisplay = $00000001;
  EFT_DC_KeyPressed = $00000002;
  EFT_DC_PARGetTotalAmount = $0000001E;
  EFT_DC_PARTransactionRequest = $0000001F;
  EFT_DC_PARCashTransaction = $00000020;
  EFT_DC_PARAbortFlow = $00000021;
  EFT_DC_PARGetReceipt = $00000022;
  EFT_DC_PARGetReceiptPaid = $00000023;
  EFT_DC_PARActorVerification = $00000024;
  EFT_DC_PARActorPwdECRVerification = $00000025;
  EFT_DC_PARActorPwdEFTVerification = $00000026;

// Konstanten für enum EFTPropertyTable
type
  EFTPropertyTable = TOleEnum;
const
  EFT_PT_TRMInfo = $0000000A;
  EFT_PT_BrandInfo = $0000000B;
  EFT_PT_ep2sbbRPT = $00000014;
  EFT_PT_postPCD = $00000015;
  EFT_PT_PayAtTable = $0000001E;
  EFT_PT_IFSF = $0000001F;

// Konstanten für enum EFTPropertyElement
type
  EFTPropertyElement = TOleEnum;
const
  EFT_PE_PARTerminalID = $00000000;
  EFT_PE_PARECRId = $00000001;
  EFT_PE_PARRefNum = $00000002;
  EFT_PE_PARAmount = $00000003;
  EFT_PE_PARCurrC = $00000004;
  EFT_PE_PARCurrE = $00000005;
  EFT_PE_PARActor = $00000006;
  EFT_PE_PARActorPwd = $00000007;
  EFT_PE_PARCPMethod = $00000008;

// Konstanten für enum EFTPropertyElementTRMI
type
  EFTPropertyElementTRMI = TOleEnum;
const
  EFT_PE_TRMIErrCode = $00000000;
  EFT_PE_TRMIDvPPSer = $00000001;
  EFT_PE_TRMIDvPPProd = $00000002;
  EFT_PE_TRMIDvRfsVers = $00000003;
  EFT_PE_TRMIDvMcrSer = $00000004;
  EFT_PE_TRMIDvMcrProd = $00000005;
  EFT_PE_TRMIDvMcrSW = $00000006;
  EFT_PE_TRMIDvMcrRdCyc = $00000007;
  EFT_PE_TRMIDvPPKeyOKCnt = $00000008;
  EFT_PE_TRMIDvPPVers = $00000009;
  EFT_PE_TRMIDvPPSec = $0000000A;
  EFT_PE_TRMIDvMcrProdVer = $0000000B;
  EFT_PE_TRMIDvMcrSec = $0000000C;
  EFT_PE_TRMIDvMcrKrypto = $0000000D;
  EFT_PE_TRMIReaderReadICC = $0000000E;
  EFT_PE_TRMIReaderInsertCards = $0000000F;
  EFT_PE_TRMICtlessSer = $00000010;
  EFT_PE_TRMICtlessProdDate = $00000011;
  EFT_PE_TRMICtlessHwVers = $00000012;

// Konstanten für enum EFTPropertyElementIFSF
type
  EFTPropertyElementIFSF = TOleEnum;
const
  EFT_PE_IFSFText = $00000000;
  EFT_PE_IFSFResource = $00000001;
  EFT_PE_IFSFTimeout = $00000002;
  EFT_PE_IFSFInputCharsMin = $00000003;
  EFT_PE_IFSFInputCharsMax = $00000004;
  EFT_PE_IFSFContextId = $00000005;
  EFT_PE_IFSFLastTry = $00000006;
  EFT_PE_IFSFSuccessIndicator = $00000007;

// Konstanten für enum EFTPrintOption
type
  EFTPrintOption = TOleEnum;
const
  EFT_OPT_PRINT_STATE = $00000000;
  EFT_OPT_PRINT_FIRST = $00000001;
  EFT_OPT_PRINT_SUBSEQUENT = $00000002;
  EFT_OPT_PRINT_FINAL = $00000003;
  EFT_OPT_PRINT_ABORT = $00000009;

// Konstanten für enum EFTPrinterState
type
  EFTPrinterState = TOleEnum;
const
  EFT_PRINTER_READY = $00000000;
  EFT_PRINTER_INVALID_STATE = $00000001;
  EFT_PRINTER_INVALID_CHARACTER = $00000002;
  EFT_PRINTER_BUSY = $00000004;
  EFT_PRINTER_OUT_OF_PAPER = $0000000A;
  EFT_PRINTER_TIMEOUT_ECR = $00000015;
  EFT_PRINTER_MAX_SIZE_EXCEEDED = $00000016;
  EFT_PRINTER_NO_PRINTER = $00000063;

// Konstanten für enum EFTCardInfoFlags
type
  EFTCardInfoFlags = TOleEnum;
const
  EFT_HAS_CARD_INFO = $00000001;
  EFT_HAS_CARD_PAN_DATA = $00000002;
  EFT_CHIP_DATA_READING = $00000004;
  EFT_HAS_CHIP_PAN_DATA = $00000008;
  EFT_CARD_SWIPED = $00000010;

// Konstanten für enum EFTExceptionCodes
type
  EFTExceptionCodes = TOleEnum;
const
  EFT_E_SUCCESS = $00000000;
  EFT_E_DATA_LINK_TIMEOUT = $00000065;
  EFT_E_DATA_LINK_REJECT = $00000066;
  EFT_E_SOCKET_LINK_ERROR = $00000067;
  EFT_E_NO_DRIVER_AVAILABLE = $000000C9;
  EFT_E_DRIVER_USED = $000000CA;
  EFT_E_SESSION_BUSY = $0000012D;
  EFT_E_SESSION_NOT_CONNECTED = $0000012E;
  EFT_E_INVALID_REQUEST = $0000012F;
  EFT_E_MISSING_AMOUNT = $00000130;
  EFT_E_INVALID_ARGUMENTS = $00000131;
  EFT_E_MESSAGE_IGNORED = $00000132;
  EFT_E_INVALID_STATE = $00000133;
  EFT_E_UNSUPPORTED_DEVICE_COMMAND = $00000134;
  EFT_E_GENERIC_DRIVER_ERROR = $00000190;
  EFT_E_APPLICATION_TIMEOUT = $00000191;
  EFT_E_RECORD_SIZE = $00000192;
  EFT_E_INVALID_RECORD = $00000193;
  EFT_E_NOT_ABORTED = $00000194;
  EFT_E_ABORTED = $00000195;
  EFT_E_INVALID_FORMAT = $00000196;
  EFT_E_UNSUPPORTED_CURRENCY = $00000197;
  EFT_E_DRIVER_BUSY = $00000198;
  EFT_E_JOURNAL_ACCESS = $00000199;
  EFT_E_CLOSE_SHIFT = $0000019A;
  EFT_E_ECR_TIMEOUT = $0000019B;
  EFT_E_CLIENT_NOT_READY = $000001F5;
  EFT_E_CARD_REMOVED = $000001F7;
  EFT_E_SHIFT_CLOSED = $000001F8;
  EFT_E_CARD_NOT_REMOVED = $000001F9;
  EFT_E_TRY_LATER = $000001FA;
  EFT_E_AMOUNT_ZERO = $000001FB;
  EFT_E_NOT_ALLOWED = $000001FC;
  EFT_E_WRONG_CASHIER = $000001FD;
  EFT_E_WRONG_ECRID = $000001FE;
  EFT_E_WRONG_PRINTMODE = $000001FF;
  EFT_E_WRONG_TERMINAL = $00000200;
  EFT_E_NEED_BALANCE = $00000201;
  EFT_E_REQUEST_FAILED = $00000202;
  EFT_E_UNSUPPORTED_FUNCTION = $00000203;
  EFT_E_AUTH_FILL_IN_VOUCHER = $00000204;
  EFT_E_DEVICE_COMMAND_FAILED = $00000205;
  EFT_E_ICC_TIMEOUT = $00000206;
  EFT_E_ICC_CARD_IS_REMOVED = $00000207;
  EFT_E_INVALID_FORMAT_TRM_REPLY = $00000208;
  EFT_E_TRM_BUSY = $00000209;
  EFT_E_AUTH_FAILED = $00000258;
  EFT_E_AUTH_DENIED = $00000259;
  EFT_E_AUTH_LIMIT_EXCEEDED = $0000025A;
  EFT_E_AUTH_DOUBLE_OPERATION = $0000025B;
  EFT_E_AUTH_CARDHOLDER_ABORT = $0000025C;
  EFT_E_AUTH_CARDHOLDER_TIMEOUT = $0000025D;
  EFT_E_AUTH_REVERSAL_INVALID = $0000025E;
  EFT_E_AUTH_UNKNOWN_TRANSACTION = $00000262;
  EFT_E_AUTH_CASH_OR_OTHER_CARD = $00000263;
  EFT_E_AUTH_CASH_PICKUP_REFUSED = $00000264;
  EFT_E_AUTH_CASH_LIMIT_EXCEEDED = $00000265;
  EFT_E_AUTH_CARD_PICKUP = $00000267;
  EFT_E_AUTH_WAIT = $00000268;
  EFT_E_AUTH_CONTACT_BANK = $00000269;
  EFT_E_FIELD_OUT_OF_BUFFER = $000002BD;
  EFT_E_FORMAT_ERROR = $000002BE;
  EFT_E_CLIENT_SESSION_BUSY = $00000321;
  EFT_E_EXCEPTION = $00000322;
  EFT_E_TIMEOUT = $00000323;
  EFT_E_NOT_PREPARED = $00000324;
  EFT_E_SOCKET_ERROR = $00000325;
  EFT_E_NO_OPERATION_PENDING = $00000326;
  EFT_E_STATE_UNEXPECTED = $00000327;
  EFT_E_OUT_OF_SINKS = $00000329;
  EFT_E_INVALID_SINK = $0000032A;
  EFT_E_RECEIPT_UNAVAILABLE = $0000032B;
  EFT_E_INVALID_ATTRIBUTE_REF = $0000032C;
  EFT_E_NO_APPLICATION = $0000032D;
  EFT_E_CLIENT_SOCKET_CLOSED = $0000032E;
  EFT_E_CLIENT_NO_CONNECT = $0000032F;
  EFT_E_NO_DEVICE = $00000330;
  EFT_E_BUFFER_OVERFLOW = $00000331;
  EFT_E_NOT_IMPLEMENTED = $00000332;

// Konstanten für enum EFTDeviceControlClass
type
  EFTDeviceControlClass = TOleEnum;
const
  EFT_DCC_CARD_READER = $00000001;
  EFT_DCC_TERMINAL_CONFIGURATION = $00000002;
  EFT_DCC_FINANCIAL_FLOW = $00000003;
  EFT_DCC_TERMINAL_UI = $00000004;
  EFT_DCC_DCC = $00000005;
  EFT_DCC_VOUCHER = $00000006;
  EFT_DCC_PAY_AT_THE_TABLE = $00000007;
  EFT_DCC_IFSF = $00000008;
  EFT_DCC_EXTRA = $00000009;
  EFT_DCC_DRIVER_SESSION = $00000020;
  EFT_DCC_PCD = $00000080;

// Konstanten für enum EFTDeviceControlAction
type
  EFTDeviceControlAction = TOleEnum;
const
  EFT_DCA_CR_CARD_RETRACT = $00000001;
  EFT_DCA_CR_CARD_REPOSITION = $00000002;
  EFT_DCA_CR_SHUTTER_OPEN = $00000003;
  EFT_DCA_CR_SHUTTER_CLOSE = $00000004;
  EFT_DCA_CR_CARD_EJECT = $00000005;
  EFT_DCA_TC_CONFIGURE = $00000001;
  EFT_DCA_TC_INITIALIZE = $00000002;
  EFT_DCA_TC_CONFIGINIT = $00000003;
  EFT_DCA_TC_DOWNLOAD = $00000004;
  EFT_DCA_TC_REBOOT = $00000009;
  EFT_DCA_FF_SUBMISSION = $00000001;
  EFT_DCA_TU_SERVICE_MENU = $00000001;
  EFT_DCA_TU_ACTIVATE_UI = $00000002;
  EFT_DCA_DC_EXCHANGE_RATE = $00000001;
  EFT_DCA_DC_VS_SERVICES = $00000001;
  EFT_DCA_DS_DEVICE_LIST = $00000001;
  EFT_DCA_DS_SHUTDOWN = $00000002;
  EFT_DCA_DS_INIT_RECEIPT = $00000003;
  EFT_DCA_DS_GET_DEVICE = $00000004;
  EFT_DCA_DS_RELEASE_DEVICE = $00000005;
  EFT_DCA_DS_GET_TERMINAL_INFO = $00000006;
  EFT_DCA_DS_GET_DEVICE_FORCED = $00000007;
  EFT_DCA_DS_GET_DEVICE_FORCED_AND_GIVE_BACK = $00000008;
  EFT_DCA_PA_GENERAL_OK = $00000000;
  EFT_DCA_PA_TOTAL_AMOUNT = $00000001;
  EFT_DCA_PA_ACTOR_INFO = $00000002;
  EFT_DCA_PA_GENERIC_ERROR = $00000090;
  EFT_DCA_PA_ERROR_REFNUM = $00000091;
  EFT_DCA_PA_ERROR_AMOUNT = $00000092;
  EFT_DCA_PA_ERROR_ACTOR = $00000093;
  EFT_DCA_IFSFDisplayText = $00000001;
  EFT_DCA_IFSFDisplayResource = $00000002;
  EFT_DCA_IFSFGetKeyInput = $00000003;
  EFT_DCA_IFSFPinCheck = $00000004;
  EFT_DCA_EX_Login = $00000001;
  EFT_DCA_EX_Logout = $00000002;
  EFT_DCA_EX_Hold = $00000003;

type

// *********************************************************************//
// Forward-Deklaration von in der Typbibliothek definierten Typen                    
// *********************************************************************//
  IEFTDriverEvents = dispinterface;
  IEFTDriverEventsU = interface;
  IEFTDriverEventsUD = dispinterface;
  IEFTDriver = interface;
  IEFTDriverDisp = dispinterface;
  IEFTReceipt = interface;
  IEFTReceiptDisp = dispinterface;
  IEFTApplications = interface;
  IEFTApplicationsDisp = dispinterface;
  IEFTApplication = interface;
  IEFTApplicationDisp = dispinterface;
  IEFTDevices = interface;
  IEFTDevicesDisp = dispinterface;
  IEFTDevice = interface;
  IEFTDeviceDisp = dispinterface;

// *********************************************************************//
// Deklaration von in der Typbibliothek definierten CoClasses             
// (HINWEIS: Hier wird jede CoClass ihrem Standard-Interface zugewiesen)              
// *********************************************************************//
  EFTDriver = IEFTDriver;


// *********************************************************************//
// Deklaration von  Strukturen, Unions und Aliasen.                         
// *********************************************************************//
  PUserType1 = ^TGUID; {*}
  PShortint1 = ^Shortint; {*}
  PPShortint1 = ^PShortint1; {*}
  PUserType2 = ^DISPPARAMS; {*}


// *********************************************************************//
// DispIntf:  IEFTDriverEvents
// Flags:     (4096) Dispatchable
// GUID:      {04BB0907-6339-4A04-9BCC-2F9604D8CEC4}
// *********************************************************************//
  IEFTDriverEvents = dispinterface
    ['{04BB0907-6339-4A04-9BCC-2F9604D8CEC4}']
    procedure OnStatusChange(statusCode: Integer); dispid 1;
    procedure OnError(errorCode: Integer; const message: WideString); dispid 2;
    procedure OnCommandComplete(resultCode: Integer); dispid 3;
    procedure OnDeviceEvent(deviceEventCode: Integer; const applicationKey: WideString); dispid 4;
    procedure OnDeviceMsg(deviceMsgCode: Integer; const deviceMsg: WideString); dispid 5;
  end;

// *********************************************************************//
// Interface: IEFTDriverEventsU
// Flags:     (4096) Dispatchable
// GUID:      {5B5022AF-3666-4F81-83DD-2CCAF5E9D824}
// *********************************************************************//
  IEFTDriverEventsU = interface(IDispatch)
    ['{5B5022AF-3666-4F81-83DD-2CCAF5E9D824}']
    function OnStatusChange(statusCode: Integer): HResult; stdcall;
    function OnError(errorCode: Integer; const message: WideString): HResult; stdcall;
    function OnCommandComplete(resultCode: Integer): HResult; stdcall;
    function OnDeviceEvent(deviceEventCode: Integer; const applicationKey: WideString): HResult; stdcall;
    function OnDeviceMsg(deviceMsgCode: Integer; const deviceMsg: WideString): HResult; stdcall;
  end;

// *********************************************************************//
// DispIntf:  IEFTDriverEventsUD
// Flags:     (4096) Dispatchable
// GUID:      {4BEC35EB-F751-405F-9E49-37C4D766BA13}
// *********************************************************************//
  IEFTDriverEventsUD = dispinterface
    ['{4BEC35EB-F751-405F-9E49-37C4D766BA13}']
    procedure OnStatusChange(statusCode: Integer); dispid 1;
    procedure OnError(errorCode: Integer; const message: WideString); dispid 2;
    procedure OnCommandComplete(resultCode: Integer); dispid 3;
    procedure OnDeviceEvent(deviceEventCode: Integer; const applicationKey: WideString); dispid 4;
    procedure OnDeviceMsg(deviceMsgCode: Integer; const deviceMsg: WideString); dispid 5;
  end;

// *********************************************************************//
// Interface: IEFTDriver
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E534E876-EA58-4FDB-B3A7-E2DA24022002}
// *********************************************************************//
  IEFTDriver = interface(IDispatch)
    ['{E534E876-EA58-4FDB-B3A7-E2DA24022002}']
    procedure Transaction(const function_: WideString; amount: Integer; options: Integer); safecall;
    procedure Commit(outcome: WordBool); safecall;
    procedure CommitAmount(commitPartialAmount: Integer); safecall;
    procedure CommitPartial(commitPartialAmount: Integer); safecall;
    procedure Open; safecall;
    procedure Close; safecall;
    procedure Balance; safecall;
    procedure DeviceControl(deviceControlClass: Integer; deviceControlCommand: Integer); safecall;
    procedure IccControl(iccCommandCode: Integer); safecall;
    procedure DeviceAccess(const deviceAccessId: WideString); safecall;
    procedure QueryStatus; safecall;
    procedure Validation(const function_: WideString; amount: Integer; options: Integer); safecall;
    procedure PrintOnEFT(const printText: WideString; printOptions: Integer); safecall;
    procedure Complete(timeout: Integer); safecall;
    procedure Abort; safecall;
    procedure Connect; safecall;
    procedure Disconnect; safecall;
    function Get_Async: Integer; safecall;
    procedure Set_Async(pVal: Integer); safecall;
    function Get_timeout: Integer; safecall;
    procedure Set_timeout(pVal: Integer); safecall;
    function Get_Status: Integer; safecall;
    procedure Set_AutoMode(Param1: Integer); safecall;
    function Get_Cashier: Integer; safecall;
    procedure Set_Cashier(pVal: Integer); safecall;
    function Get_ECRId: WideString; safecall;
    procedure Set_ECRId(const pVal: WideString); safecall;
    procedure Set_UseMode(Param1: Integer); safecall;
    function Get_UseModeReply: Integer; safecall;
    function Get_ECRSequence: Integer; safecall;
    procedure Set_EntryMode(const Param1: WideString); safecall;
    procedure Set_Track2(const Param1: WideString); safecall;
    procedure Set_Track3(const Param1: WideString); safecall;
    function Get_amount: Integer; safecall;
    procedure Set_amount(pVal: Integer); safecall;
    function Get_AmountOrig: Integer; safecall;
    procedure Set_AmountOrig(pVal: Integer); safecall;
    function Get_AmountOther: Integer; safecall;
    procedure Set_AmountOther(pVal: Integer); safecall;
    function Get_FeeAmount: Integer; safecall;
    function Get_Currency: WideString; safecall;
    procedure Set_Currency(const pVal: WideString); safecall;
    procedure Set_PrinterWidth(Param1: Integer); safecall;
    function Get_OperationMode: WideString; safecall;
    procedure Set_OperationMode(const pVal: WideString); safecall;
    function Get_Time: WideString; safecall;
    function Get_AID: WideString; safecall;
    procedure Set_TrxTimeout(Param1: Integer); safecall;
    procedure Set_CardRemoveIndicator(Param1: Integer); safecall;
    procedure Set_SuppressReceiptOnTrm(Param1: Integer); safecall;
    procedure Set_DisplayText1(Param1: Integer); safecall;
    procedure Set_DisplayText2(Param1: Integer); safecall;
    procedure Set_CommitRequired(Param1: Integer); safecall;
    function Get_DccMode: Integer; safecall;
    procedure Set_DccMode(pVal: Integer); safecall;
    function Get_DccCurrency: WideString; safecall;
    function Get_DccAmount: Integer; safecall;
    function Get_DccAmountExp: Integer; safecall;
    function Get_DccExrate: WideString; safecall;
    function Get_DccExrateExp: Integer; safecall;
    procedure Set_DccOriginalDate(const Param1: WideString); safecall;
    procedure Set_TopupIssuerName(const Param1: WideString); safecall;
    function Get_TopupRefillCode: WideString; safecall;
    function Get_TopupSerialNumber: WideString; safecall;
    function Get_ExceptionMessage: WideString; safecall;
    function Get_ExceptionCode: Integer; safecall;
    function Get_NativeMessage: WideString; safecall;
    function Get_NativeStatus: WideString; safecall;
    function Get_RefNumber: WideString; safecall;
    procedure Set_RefNumber(const pVal: WideString); safecall;
    function Get_TrxSeqNum: WideString; safecall;
    procedure Set_TrxSeqNum(const pVal: WideString); safecall;
    function Get_TrxRefNum: WideString; safecall;
    procedure Set_TrxRefNum(const pVal: WideString); safecall;
    function Get_AuthCode: WideString; safecall;
    procedure Set_AuthCode(const pVal: WideString); safecall;
    function Get_ReceiptText: WideString; safecall;
    function Get_ReceiptMerchantText: WideString; safecall;
    function Get_ContractNumber: WideString; safecall;
    function Get_CardNumber: WideString; safecall;
    function Get_CardExpiration: WideString; safecall;
    function Get_PrintableCardNumber: WideString; safecall;
    function Get_PosEntryMode: WideString; safecall;
    function Get_AuthText: WideString; safecall;
    function Get_BookingPeriod: WideString; safecall;
    function Get_OperationPhase: Integer; safecall;
    function Get_ApplicationName: WideString; safecall;
    function Get_ApplicationLabel: WideString; safecall;
    function Get_applicationKey: WideString; safecall;
    function Get_CustomerLanguage: WideString; safecall;
    function Get_CardLanguage: WideString; safecall;
    function Get_BrandId: Integer; safecall;
    function Get_TipAmount: Integer; safecall;
    function Get_EncryptedPan: WideString; safecall;
    function Get_StaticKeyPanIndex: Integer; safecall;
    function Get_AcqId: WideString; safecall;
    function Get_SubBrand: WideString; safecall;
    function Get_CommitTimeout: Integer; safecall;
    function Get_ReferralPhoneNumber: WideString; safecall;
    function Get_SaldoFlag: WordBool; safecall;
    function Get_Saldo: Integer; safecall;
    function Get_CouponValueUnit: WideString; safecall;
    function Get_CouponValue: Integer; safecall;
    function Get_CouponType: Integer; safecall;
    function Get_CouponPromNumber: Integer; safecall;
    function Get_CouponReferenceNumber: WideString; safecall;
    procedure Set_CouponReferenceNumber(const pVal: WideString); safecall;
    function Get_outcome: WordBool; safecall;
    function Get_options: Integer; safecall;
    function Get_function_: WideString; safecall;
    function Get_Language: WideString; safecall;
    procedure Set_Language(const pVal: WideString); safecall;
    function Get_Id: WideString; safecall;
    procedure Set_Id(const pVal: WideString); safecall;
    function Get_TerminalId: WideString; safecall;
    procedure Set_TerminalId(const pVal: WideString); safecall;
    function Get_MpdServerVersion: WideString; safecall;
    function Get_MpdClientVersion: WideString; safecall;
    function Get_ActivationSequence: WideString; safecall;
    procedure Set_ActivationSequence(const pVal: WideString); safecall;
    function Get_ActivationState: Integer; safecall;
    function Get_ConnectionState: Integer; safecall;
    procedure Set_EcrManufacturer(const Param1: WideString); safecall;
    procedure Set_EcrName(const Param1: WideString); safecall;
    procedure Set_EcrVersion(const Param1: WideString); safecall;
    procedure Set_EftModuleManufacturer(const Param1: WideString); safecall;
    procedure Set_EftModuleName(const Param1: WideString); safecall;
    procedure Set_EftModuleVersion(const Param1: WideString); safecall;
    function Get_DeviceStatusCode: Integer; safecall;
    function Get_deviceEventCode: Integer; safecall;
    function Get_ReaderStatusCode: Integer; safecall;
    function Get_CardProcessingInfo: Integer; safecall;
    function Get_DeviceApplicationKey: WideString; safecall;
    function Get_DeviceAid: WideString; safecall;
    function Get_DeviceId: WideString; safecall;
    procedure Set_DeviceId(const pVal: WideString); safecall;
    function Get_deviceMsgCode: Integer; safecall;
    function Get_deviceMsg: WideString; safecall;
    function Get_deviceControlClass: Integer; safecall;
    function Get_deviceControlCommand: Integer; safecall;
    function Get_DeviceControlData: WideString; safecall;
    function Get_DeviceControlResult: Integer; safecall;
    function Get_BalanceTime: WideString; safecall;
    function Get_ReceiptCopyCount: Integer; safecall;
    function Get_ReceiptMerchantCount: Integer; safecall;
    function Get_ReceiptSignatureFlag: Integer; safecall;
    function Get_ReceiptOptions: Integer; safecall;
    procedure Set_ReceiptOptions(pVal: Integer); safecall;
    function Get_ReceiptPrintFlag: Integer; safecall;
    procedure Set_ReceiptPrintFlag(pVal: Integer); safecall;
    function Get_Cvc: WideString; safecall;
    procedure Set_Cvc(const pVal: WideString); safecall;
    function Get_DriverAddress: WideString; safecall;
    procedure Set_DriverAddress(const pVal: WideString); safecall;
    procedure Set_CommitPartialTimeout(Param1: Integer); safecall;
    procedure Set_commitPartialAmount(Param1: Integer); safecall;
    function Get_CommitedAmount: Integer; safecall;
    function Get_iccCommandCode: Integer; safecall;
    procedure Set_iccCommandCode(pVal: Integer); safecall;
    function Get_IccDeviceId: WideString; safecall;
    procedure Set_IccDeviceId(const pVal: WideString); safecall;
    function Get_IccApduRequest: WideString; safecall;
    procedure Set_IccApduRequest(const pVal: WideString); safecall;
    function Get_IccCardAtr: WideString; safecall;
    function Get_IccApduResponse: WideString; safecall;
    function Get_deviceAccessId: WideString; safecall;
    procedure Set_deviceAccessId(const pVal: WideString); safecall;
    function Get_DeviceAccessData: WideString; safecall;
    procedure Set_DeviceAccessData(const pVal: WideString); safecall;
    function Get_DeviceAccessResult: Integer; safecall;
    function Get_CompletedCommand: Integer; safecall;
    function Get_CompletedDeviceEvent: Integer; safecall;
    function Get_CardsRetained: Integer; safecall;
    procedure Set_CardsRetained(pVal: Integer); safecall;
    procedure Set_ExtraXmlNode(const Param1: WideString); safecall;
    procedure Set_PrintCharSet(Param1: Integer); safecall;
    function Get_PrinterState: Integer; safecall;
    procedure Set_TrxAddMode(Param1: Integer); safecall;
    function Get_TrxAddReply: Integer; safecall;
    function Get_NbrInstalments: Integer; safecall;
    procedure Set_NbrInstalments(pVal: Integer); safecall;
    function Get_HasCardInfos: Integer; safecall;
    function Get_ContextId: Integer; safecall;
    function Get_CardTrack2: WideString; safecall;
    function Get_CardTrack3: WideString; safecall;
    function Get_CardIcc: WideString; safecall;
    function Get_CardAppExpDate: WideString; safecall;
    function Get_CardPanHash: WideString; safecall;
    function Get_ChipPanHash: WideString; safecall;
    function Get_ProcessingTarget: Integer; safecall;
    function Get_DccDisclaimerText: WideString; safecall;
    function Get_FeeDisclaimerText: WideString; safecall;
    procedure Set_AccountIndex(Param1: Integer); safecall;
    procedure Set_EcrSeqCounter(Param1: Integer); safecall;
    function Get_Receipt: IEFTReceipt; safecall;
    function Get_Applications: IEFTApplications; safecall;
    function Get_Devices: IEFTDevices; safecall;
    function Get_Attribute(const Name: WideString): OleVariant; safecall;
    procedure Set_Attribute(const Name: WideString; pVal: OleVariant); safecall;
    function Get_ErrorText(const Language: WideString; errorCode: Integer): WideString; safecall;
    function Get_Property_(table: Integer; index: Integer): WideString; safecall;
    procedure Set_Property_(table: Integer; index: Integer; const pVal: WideString); safecall;
    function Get_PARTerminalID: WideString; safecall;
    procedure Set_PARTerminalID(const pVal: WideString); safecall;
    function Get_PARECRId: WideString; safecall;
    procedure Set_PARECRId(const pVal: WideString); safecall;
    function Get_PARRefNum: WideString; safecall;
    procedure Set_PARRefNum(const pVal: WideString); safecall;
    function Get_PARActor: WideString; safecall;
    procedure Set_PARActor(const pVal: WideString); safecall;
    function Get_PARAmount: Integer; safecall;
    procedure Set_PARAmount(pVal: Integer); safecall;
    function Get_PARCurrC: WideString; safecall;
    procedure Set_PARCurrC(const pVal: WideString); safecall;
    function Get_PARCurrE: Integer; safecall;
    procedure Set_PARCurrE(pVal: Integer); safecall;
    function Get_PARActorPwd: WideString; safecall;
    procedure Set_PARActorPwd(const pVal: WideString); safecall;
    function Get_PARCPMethod: Integer; safecall;
    procedure Set_PARCPMethod(pVal: Integer); safecall;
    function Get_DvErrCode: Integer; safecall;
    function Get_DvPPSer: WideString; safecall;
    function Get_DvPPProd: WideString; safecall;
    function Get_DvRfsVers: WideString; safecall;
    function Get_DvMcrSer: WideString; safecall;
    function Get_DvMcrProd: WideString; safecall;
    function Get_DvMcrSW: WideString; safecall;
    function Get_DvMcrRdCyc: Integer; safecall;
    function Get_DvPPKeyOKCnt: Integer; safecall;
    procedure Set_RPTAcctDept(Param1: Integer); safecall;
    procedure Set_RPTAcctPrd(Param1: Integer); safecall;
    procedure Set_RPTDevType(const Param1: WideString); safecall;
    procedure Set_RPTKTUCde(Param1: Integer); safecall;
    procedure Set_RPTStatCde(Param1: Integer); safecall;
    procedure Set_RPTWSNo(Param1: Integer); safecall;
    procedure Set_IFSFText(const Param1: WideString); safecall;
    procedure Set_IFSFResource(Param1: Integer); safecall;
    procedure Set_IFSFTimeout(Param1: Integer); safecall;
    procedure Set_IFSFInputCharsMin(Param1: Integer); safecall;
    procedure Set_IFSFInputCharsMax(Param1: Integer); safecall;
    procedure Set_IFSFContextId(Param1: Integer); safecall;
    procedure Set_IFSFLastTry(Param1: Integer); safecall;
    procedure Set_IFSFSuccessIndicator(Param1: Integer); safecall;
    property Async: Integer read Get_Async write Set_Async;
    property timeout: Integer read Get_timeout write Set_timeout;
    property Status: Integer read Get_Status;
    property AutoMode: Integer write Set_AutoMode;
    property Cashier: Integer read Get_Cashier write Set_Cashier;
    property ECRId: WideString read Get_ECRId write Set_ECRId;
    property UseMode: Integer write Set_UseMode;
    property UseModeReply: Integer read Get_UseModeReply;
    property ECRSequence: Integer read Get_ECRSequence;
    property EntryMode: WideString write Set_EntryMode;
    property Track2: WideString write Set_Track2;
    property Track3: WideString write Set_Track3;
    property amount: Integer read Get_amount write Set_amount;
    property AmountOrig: Integer read Get_AmountOrig write Set_AmountOrig;
    property AmountOther: Integer read Get_AmountOther write Set_AmountOther;
    property FeeAmount: Integer read Get_FeeAmount;
    property Currency: WideString read Get_Currency write Set_Currency;
    property PrinterWidth: Integer write Set_PrinterWidth;
    property OperationMode: WideString read Get_OperationMode write Set_OperationMode;
    property Time: WideString read Get_Time;
    property AID: WideString read Get_AID;
    property TrxTimeout: Integer write Set_TrxTimeout;
    property CardRemoveIndicator: Integer write Set_CardRemoveIndicator;
    property SuppressReceiptOnTrm: Integer write Set_SuppressReceiptOnTrm;
    property DisplayText1: Integer write Set_DisplayText1;
    property DisplayText2: Integer write Set_DisplayText2;
    property CommitRequired: Integer write Set_CommitRequired;
    property DccMode: Integer read Get_DccMode write Set_DccMode;
    property DccCurrency: WideString read Get_DccCurrency;
    property DccAmount: Integer read Get_DccAmount;
    property DccAmountExp: Integer read Get_DccAmountExp;
    property DccExrate: WideString read Get_DccExrate;
    property DccExrateExp: Integer read Get_DccExrateExp;
    property DccOriginalDate: WideString write Set_DccOriginalDate;
    property TopupIssuerName: WideString write Set_TopupIssuerName;
    property TopupRefillCode: WideString read Get_TopupRefillCode;
    property TopupSerialNumber: WideString read Get_TopupSerialNumber;
    property ExceptionMessage: WideString read Get_ExceptionMessage;
    property ExceptionCode: Integer read Get_ExceptionCode;
    property NativeMessage: WideString read Get_NativeMessage;
    property NativeStatus: WideString read Get_NativeStatus;
    property RefNumber: WideString read Get_RefNumber write Set_RefNumber;
    property TrxSeqNum: WideString read Get_TrxSeqNum write Set_TrxSeqNum;
    property TrxRefNum: WideString read Get_TrxRefNum write Set_TrxRefNum;
    property AuthCode: WideString read Get_AuthCode write Set_AuthCode;
    property ReceiptText: WideString read Get_ReceiptText;
    property ReceiptMerchantText: WideString read Get_ReceiptMerchantText;
    property ContractNumber: WideString read Get_ContractNumber;
    property CardNumber: WideString read Get_CardNumber;
    property CardExpiration: WideString read Get_CardExpiration;
    property PrintableCardNumber: WideString read Get_PrintableCardNumber;
    property PosEntryMode: WideString read Get_PosEntryMode;
    property AuthText: WideString read Get_AuthText;
    property BookingPeriod: WideString read Get_BookingPeriod;
    property OperationPhase: Integer read Get_OperationPhase;
    property ApplicationName: WideString read Get_ApplicationName;
    property ApplicationLabel: WideString read Get_ApplicationLabel;
    property applicationKey: WideString read Get_applicationKey;
    property CustomerLanguage: WideString read Get_CustomerLanguage;
    property CardLanguage: WideString read Get_CardLanguage;
    property BrandId: Integer read Get_BrandId;
    property TipAmount: Integer read Get_TipAmount;
    property EncryptedPan: WideString read Get_EncryptedPan;
    property StaticKeyPanIndex: Integer read Get_StaticKeyPanIndex;
    property AcqId: WideString read Get_AcqId;
    property SubBrand: WideString read Get_SubBrand;
    property CommitTimeout: Integer read Get_CommitTimeout;
    property ReferralPhoneNumber: WideString read Get_ReferralPhoneNumber;
    property SaldoFlag: WordBool read Get_SaldoFlag;
    property Saldo: Integer read Get_Saldo;
    property CouponValueUnit: WideString read Get_CouponValueUnit;
    property CouponValue: Integer read Get_CouponValue;
    property CouponType: Integer read Get_CouponType;
    property CouponPromNumber: Integer read Get_CouponPromNumber;
    property CouponReferenceNumber: WideString read Get_CouponReferenceNumber write Set_CouponReferenceNumber;
    property outcome: WordBool read Get_outcome;
    property options: Integer read Get_options;
    property function_: WideString read Get_function_;
    property Language: WideString read Get_Language write Set_Language;
    property Id: WideString read Get_Id write Set_Id;
    property TerminalId: WideString read Get_TerminalId write Set_TerminalId;
    property MpdServerVersion: WideString read Get_MpdServerVersion;
    property MpdClientVersion: WideString read Get_MpdClientVersion;
    property ActivationSequence: WideString read Get_ActivationSequence write Set_ActivationSequence;
    property ActivationState: Integer read Get_ActivationState;
    property ConnectionState: Integer read Get_ConnectionState;
    property EcrManufacturer: WideString write Set_EcrManufacturer;
    property EcrName: WideString write Set_EcrName;
    property EcrVersion: WideString write Set_EcrVersion;
    property EftModuleManufacturer: WideString write Set_EftModuleManufacturer;
    property EftModuleName: WideString write Set_EftModuleName;
    property EftModuleVersion: WideString write Set_EftModuleVersion;
    property DeviceStatusCode: Integer read Get_DeviceStatusCode;
    property deviceEventCode: Integer read Get_deviceEventCode;
    property ReaderStatusCode: Integer read Get_ReaderStatusCode;
    property CardProcessingInfo: Integer read Get_CardProcessingInfo;
    property DeviceApplicationKey: WideString read Get_DeviceApplicationKey;
    property DeviceAid: WideString read Get_DeviceAid;
    property DeviceId: WideString read Get_DeviceId write Set_DeviceId;
    property deviceMsgCode: Integer read Get_deviceMsgCode;
    property deviceMsg: WideString read Get_deviceMsg;
    property deviceControlClass: Integer read Get_deviceControlClass;
    property deviceControlCommand: Integer read Get_deviceControlCommand;
    property DeviceControlData: WideString read Get_DeviceControlData;
    property DeviceControlResult: Integer read Get_DeviceControlResult;
    property BalanceTime: WideString read Get_BalanceTime;
    property ReceiptCopyCount: Integer read Get_ReceiptCopyCount;
    property ReceiptMerchantCount: Integer read Get_ReceiptMerchantCount;
    property ReceiptSignatureFlag: Integer read Get_ReceiptSignatureFlag;
    property ReceiptOptions: Integer read Get_ReceiptOptions write Set_ReceiptOptions;
    property ReceiptPrintFlag: Integer read Get_ReceiptPrintFlag write Set_ReceiptPrintFlag;
    property Cvc: WideString read Get_Cvc write Set_Cvc;
    property DriverAddress: WideString read Get_DriverAddress write Set_DriverAddress;
    property CommitPartialTimeout: Integer write Set_CommitPartialTimeout;
    property commitPartialAmount: Integer write Set_commitPartialAmount;
    property CommitedAmount: Integer read Get_CommitedAmount;
    property iccCommandCode: Integer read Get_iccCommandCode write Set_iccCommandCode;
    property IccDeviceId: WideString read Get_IccDeviceId write Set_IccDeviceId;
    property IccApduRequest: WideString read Get_IccApduRequest write Set_IccApduRequest;
    property IccCardAtr: WideString read Get_IccCardAtr;
    property IccApduResponse: WideString read Get_IccApduResponse;
    property deviceAccessId: WideString read Get_deviceAccessId write Set_deviceAccessId;
    property DeviceAccessData: WideString read Get_DeviceAccessData write Set_DeviceAccessData;
    property DeviceAccessResult: Integer read Get_DeviceAccessResult;
    property CompletedCommand: Integer read Get_CompletedCommand;
    property CompletedDeviceEvent: Integer read Get_CompletedDeviceEvent;
    property CardsRetained: Integer read Get_CardsRetained write Set_CardsRetained;
    property ExtraXmlNode: WideString write Set_ExtraXmlNode;
    property PrintCharSet: Integer write Set_PrintCharSet;
    property PrinterState: Integer read Get_PrinterState;
    property TrxAddMode: Integer write Set_TrxAddMode;
    property TrxAddReply: Integer read Get_TrxAddReply;
    property NbrInstalments: Integer read Get_NbrInstalments write Set_NbrInstalments;
    property HasCardInfos: Integer read Get_HasCardInfos;
    property ContextId: Integer read Get_ContextId;
    property CardTrack2: WideString read Get_CardTrack2;
    property CardTrack3: WideString read Get_CardTrack3;
    property CardIcc: WideString read Get_CardIcc;
    property CardAppExpDate: WideString read Get_CardAppExpDate;
    property CardPanHash: WideString read Get_CardPanHash;
    property ChipPanHash: WideString read Get_ChipPanHash;
    property ProcessingTarget: Integer read Get_ProcessingTarget;
    property DccDisclaimerText: WideString read Get_DccDisclaimerText;
    property FeeDisclaimerText: WideString read Get_FeeDisclaimerText;
    property AccountIndex: Integer write Set_AccountIndex;
    property EcrSeqCounter: Integer write Set_EcrSeqCounter;
    property Receipt: IEFTReceipt read Get_Receipt;
    property Applications: IEFTApplications read Get_Applications;
    property Devices: IEFTDevices read Get_Devices;
    property Attribute[const Name: WideString]: OleVariant read Get_Attribute write Set_Attribute;
    property ErrorText[const Language: WideString; errorCode: Integer]: WideString read Get_ErrorText;
    property Property_[table: Integer; index: Integer]: WideString read Get_Property_ write Set_Property_;
    property PARTerminalID: WideString read Get_PARTerminalID write Set_PARTerminalID;
    property PARECRId: WideString read Get_PARECRId write Set_PARECRId;
    property PARRefNum: WideString read Get_PARRefNum write Set_PARRefNum;
    property PARActor: WideString read Get_PARActor write Set_PARActor;
    property PARAmount: Integer read Get_PARAmount write Set_PARAmount;
    property PARCurrC: WideString read Get_PARCurrC write Set_PARCurrC;
    property PARCurrE: Integer read Get_PARCurrE write Set_PARCurrE;
    property PARActorPwd: WideString read Get_PARActorPwd write Set_PARActorPwd;
    property PARCPMethod: Integer read Get_PARCPMethod write Set_PARCPMethod;
    property DvErrCode: Integer read Get_DvErrCode;
    property DvPPSer: WideString read Get_DvPPSer;
    property DvPPProd: WideString read Get_DvPPProd;
    property DvRfsVers: WideString read Get_DvRfsVers;
    property DvMcrSer: WideString read Get_DvMcrSer;
    property DvMcrProd: WideString read Get_DvMcrProd;
    property DvMcrSW: WideString read Get_DvMcrSW;
    property DvMcrRdCyc: Integer read Get_DvMcrRdCyc;
    property DvPPKeyOKCnt: Integer read Get_DvPPKeyOKCnt;
    property RPTAcctDept: Integer write Set_RPTAcctDept;
    property RPTAcctPrd: Integer write Set_RPTAcctPrd;
    property RPTDevType: WideString write Set_RPTDevType;
    property RPTKTUCde: Integer write Set_RPTKTUCde;
    property RPTStatCde: Integer write Set_RPTStatCde;
    property RPTWSNo: Integer write Set_RPTWSNo;
    property IFSFText: WideString write Set_IFSFText;
    property IFSFResource: Integer write Set_IFSFResource;
    property IFSFTimeout: Integer write Set_IFSFTimeout;
    property IFSFInputCharsMin: Integer write Set_IFSFInputCharsMin;
    property IFSFInputCharsMax: Integer write Set_IFSFInputCharsMax;
    property IFSFContextId: Integer write Set_IFSFContextId;
    property IFSFLastTry: Integer write Set_IFSFLastTry;
    property IFSFSuccessIndicator: Integer write Set_IFSFSuccessIndicator;
  end;

// *********************************************************************//
// DispIntf:  IEFTDriverDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {E534E876-EA58-4FDB-B3A7-E2DA24022002}
// *********************************************************************//
  IEFTDriverDisp = dispinterface
    ['{E534E876-EA58-4FDB-B3A7-E2DA24022002}']
    procedure Transaction(const function_: WideString; amount: Integer; options: Integer); dispid 1;
    procedure Commit(outcome: WordBool); dispid 2;
    procedure CommitAmount(commitPartialAmount: Integer); dispid 3;
    procedure CommitPartial(commitPartialAmount: Integer); dispid 4;
    procedure Open; dispid 5;
    procedure Close; dispid 6;
    procedure Balance; dispid 7;
    procedure DeviceControl(deviceControlClass: Integer; deviceControlCommand: Integer); dispid 8;
    procedure IccControl(iccCommandCode: Integer); dispid 9;
    procedure DeviceAccess(const deviceAccessId: WideString); dispid 10;
    procedure QueryStatus; dispid 11;
    procedure Validation(const function_: WideString; amount: Integer; options: Integer); dispid 12;
    procedure PrintOnEFT(const printText: WideString; printOptions: Integer); dispid 13;
    procedure Complete(timeout: Integer); dispid 14;
    procedure Abort; dispid 15;
    procedure Connect; dispid 16;
    procedure Disconnect; dispid 17;
    property Async: Integer dispid 18;
    property timeout: Integer dispid 19;
    property Status: Integer readonly dispid 20;
    property AutoMode: Integer writeonly dispid 21;
    property Cashier: Integer dispid 22;
    property ECRId: WideString dispid 23;
    property UseMode: Integer writeonly dispid 24;
    property UseModeReply: Integer readonly dispid 25;
    property ECRSequence: Integer readonly dispid 26;
    property EntryMode: WideString writeonly dispid 27;
    property Track2: WideString writeonly dispid 28;
    property Track3: WideString writeonly dispid 29;
    property amount: Integer dispid 30;
    property AmountOrig: Integer dispid 31;
    property AmountOther: Integer dispid 32;
    property FeeAmount: Integer readonly dispid 33;
    property Currency: WideString dispid 34;
    property PrinterWidth: Integer writeonly dispid 35;
    property OperationMode: WideString dispid 36;
    property Time: WideString readonly dispid 37;
    property AID: WideString readonly dispid 38;
    property TrxTimeout: Integer writeonly dispid 39;
    property CardRemoveIndicator: Integer writeonly dispid 40;
    property SuppressReceiptOnTrm: Integer writeonly dispid 41;
    property DisplayText1: Integer writeonly dispid 42;
    property DisplayText2: Integer writeonly dispid 43;
    property CommitRequired: Integer writeonly dispid 44;
    property DccMode: Integer dispid 45;
    property DccCurrency: WideString readonly dispid 46;
    property DccAmount: Integer readonly dispid 47;
    property DccAmountExp: Integer readonly dispid 48;
    property DccExrate: WideString readonly dispid 49;
    property DccExrateExp: Integer readonly dispid 50;
    property DccOriginalDate: WideString writeonly dispid 51;
    property TopupIssuerName: WideString writeonly dispid 52;
    property TopupRefillCode: WideString readonly dispid 53;
    property TopupSerialNumber: WideString readonly dispid 54;
    property ExceptionMessage: WideString readonly dispid 55;
    property ExceptionCode: Integer readonly dispid 56;
    property NativeMessage: WideString readonly dispid 57;
    property NativeStatus: WideString readonly dispid 58;
    property RefNumber: WideString dispid 59;
    property TrxSeqNum: WideString dispid 60;
    property TrxRefNum: WideString dispid 61;
    property AuthCode: WideString dispid 62;
    property ReceiptText: WideString readonly dispid 63;
    property ReceiptMerchantText: WideString readonly dispid 64;
    property ContractNumber: WideString readonly dispid 65;
    property CardNumber: WideString readonly dispid 66;
    property CardExpiration: WideString readonly dispid 67;
    property PrintableCardNumber: WideString readonly dispid 68;
    property PosEntryMode: WideString readonly dispid 69;
    property AuthText: WideString readonly dispid 70;
    property BookingPeriod: WideString readonly dispid 71;
    property OperationPhase: Integer readonly dispid 72;
    property ApplicationName: WideString readonly dispid 73;
    property ApplicationLabel: WideString readonly dispid 74;
    property applicationKey: WideString readonly dispid 75;
    property CustomerLanguage: WideString readonly dispid 76;
    property CardLanguage: WideString readonly dispid 77;
    property BrandId: Integer readonly dispid 78;
    property TipAmount: Integer readonly dispid 79;
    property EncryptedPan: WideString readonly dispid 80;
    property StaticKeyPanIndex: Integer readonly dispid 81;
    property AcqId: WideString readonly dispid 82;
    property SubBrand: WideString readonly dispid 83;
    property CommitTimeout: Integer readonly dispid 84;
    property ReferralPhoneNumber: WideString readonly dispid 85;
    property SaldoFlag: WordBool readonly dispid 86;
    property Saldo: Integer readonly dispid 87;
    property CouponValueUnit: WideString readonly dispid 88;
    property CouponValue: Integer readonly dispid 89;
    property CouponType: Integer readonly dispid 90;
    property CouponPromNumber: Integer readonly dispid 91;
    property CouponReferenceNumber: WideString dispid 92;
    property outcome: WordBool readonly dispid 93;
    property options: Integer readonly dispid 94;
    property function_: WideString readonly dispid 95;
    property Language: WideString dispid 96;
    property Id: WideString dispid 97;
    property TerminalId: WideString dispid 98;
    property MpdServerVersion: WideString readonly dispid 99;
    property MpdClientVersion: WideString readonly dispid 100;
    property ActivationSequence: WideString dispid 101;
    property ActivationState: Integer readonly dispid 102;
    property ConnectionState: Integer readonly dispid 103;
    property EcrManufacturer: WideString writeonly dispid 104;
    property EcrName: WideString writeonly dispid 105;
    property EcrVersion: WideString writeonly dispid 106;
    property EftModuleManufacturer: WideString writeonly dispid 107;
    property EftModuleName: WideString writeonly dispid 108;
    property EftModuleVersion: WideString writeonly dispid 109;
    property DeviceStatusCode: Integer readonly dispid 110;
    property deviceEventCode: Integer readonly dispid 111;
    property ReaderStatusCode: Integer readonly dispid 112;
    property CardProcessingInfo: Integer readonly dispid 113;
    property DeviceApplicationKey: WideString readonly dispid 114;
    property DeviceAid: WideString readonly dispid 115;
    property DeviceId: WideString dispid 116;
    property deviceMsgCode: Integer readonly dispid 117;
    property deviceMsg: WideString readonly dispid 118;
    property deviceControlClass: Integer readonly dispid 119;
    property deviceControlCommand: Integer readonly dispid 120;
    property DeviceControlData: WideString readonly dispid 121;
    property DeviceControlResult: Integer readonly dispid 122;
    property BalanceTime: WideString readonly dispid 123;
    property ReceiptCopyCount: Integer readonly dispid 124;
    property ReceiptMerchantCount: Integer readonly dispid 125;
    property ReceiptSignatureFlag: Integer readonly dispid 126;
    property ReceiptOptions: Integer dispid 127;
    property ReceiptPrintFlag: Integer dispid 128;
    property Cvc: WideString dispid 129;
    property DriverAddress: WideString dispid 130;
    property CommitPartialTimeout: Integer writeonly dispid 131;
    property commitPartialAmount: Integer writeonly dispid 132;
    property CommitedAmount: Integer readonly dispid 133;
    property iccCommandCode: Integer dispid 134;
    property IccDeviceId: WideString dispid 135;
    property IccApduRequest: WideString dispid 136;
    property IccCardAtr: WideString readonly dispid 137;
    property IccApduResponse: WideString readonly dispid 138;
    property deviceAccessId: WideString dispid 139;
    property DeviceAccessData: WideString dispid 140;
    property DeviceAccessResult: Integer readonly dispid 141;
    property CompletedCommand: Integer readonly dispid 142;
    property CompletedDeviceEvent: Integer readonly dispid 143;
    property CardsRetained: Integer dispid 144;
    property ExtraXmlNode: WideString writeonly dispid 145;
    property PrintCharSet: Integer writeonly dispid 148;
    property PrinterState: Integer readonly dispid 149;
    property TrxAddMode: Integer writeonly dispid 150;
    property TrxAddReply: Integer readonly dispid 151;
    property NbrInstalments: Integer dispid 152;
    property HasCardInfos: Integer readonly dispid 153;
    property ContextId: Integer readonly dispid 154;
    property CardTrack2: WideString readonly dispid 155;
    property CardTrack3: WideString readonly dispid 156;
    property CardIcc: WideString readonly dispid 157;
    property CardAppExpDate: WideString readonly dispid 158;
    property CardPanHash: WideString readonly dispid 159;
    property ChipPanHash: WideString readonly dispid 160;
    property ProcessingTarget: Integer readonly dispid 161;
    property DccDisclaimerText: WideString readonly dispid 162;
    property FeeDisclaimerText: WideString readonly dispid 163;
    property AccountIndex: Integer writeonly dispid 164;
    property EcrSeqCounter: Integer writeonly dispid 165;
    property Receipt: IEFTReceipt readonly dispid 210;
    property Applications: IEFTApplications readonly dispid 211;
    property Devices: IEFTDevices readonly dispid 212;
    property Attribute[const Name: WideString]: OleVariant dispid 213;
    property ErrorText[const Language: WideString; errorCode: Integer]: WideString readonly dispid 214;
    property Property_[table: Integer; index: Integer]: WideString dispid 215;
    property PARTerminalID: WideString dispid 170;
    property PARECRId: WideString dispid 171;
    property PARRefNum: WideString dispid 172;
    property PARActor: WideString dispid 173;
    property PARAmount: Integer dispid 174;
    property PARCurrC: WideString dispid 175;
    property PARCurrE: Integer dispid 176;
    property PARActorPwd: WideString dispid 177;
    property PARCPMethod: Integer dispid 178;
    property DvErrCode: Integer readonly dispid 180;
    property DvPPSer: WideString readonly dispid 181;
    property DvPPProd: WideString readonly dispid 182;
    property DvRfsVers: WideString readonly dispid 183;
    property DvMcrSer: WideString readonly dispid 184;
    property DvMcrProd: WideString readonly dispid 185;
    property DvMcrSW: WideString readonly dispid 186;
    property DvMcrRdCyc: Integer readonly dispid 187;
    property DvPPKeyOKCnt: Integer readonly dispid 188;
    property RPTAcctDept: Integer writeonly dispid 190;
    property RPTAcctPrd: Integer writeonly dispid 191;
    property RPTDevType: WideString writeonly dispid 192;
    property RPTKTUCde: Integer writeonly dispid 193;
    property RPTStatCde: Integer writeonly dispid 194;
    property RPTWSNo: Integer writeonly dispid 195;
    property IFSFText: WideString writeonly dispid 200;
    property IFSFResource: Integer writeonly dispid 201;
    property IFSFTimeout: Integer writeonly dispid 202;
    property IFSFInputCharsMin: Integer writeonly dispid 203;
    property IFSFInputCharsMax: Integer writeonly dispid 204;
    property IFSFContextId: Integer writeonly dispid 205;
    property IFSFLastTry: Integer writeonly dispid 206;
    property IFSFSuccessIndicator: Integer writeonly dispid 207;
  end;

// *********************************************************************//
// Interface: IEFTReceipt
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7DE1FBE5-77D4-43F1-8A1F-8890381315BE}
// *********************************************************************//
  IEFTReceipt = interface(IDispatch)
    ['{7DE1FBE5-77D4-43F1-8A1F-8890381315BE}']
    function Get_Value(const fieldName: WideString): WideString; safecall;
    function Get_applicationKey: WideString; safecall;
    property Value[const fieldName: WideString]: WideString read Get_Value; default;
    property applicationKey: WideString read Get_applicationKey;
  end;

// *********************************************************************//
// DispIntf:  IEFTReceiptDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7DE1FBE5-77D4-43F1-8A1F-8890381315BE}
// *********************************************************************//
  IEFTReceiptDisp = dispinterface
    ['{7DE1FBE5-77D4-43F1-8A1F-8890381315BE}']
    property Value[const fieldName: WideString]: WideString readonly dispid 0; default;
    property applicationKey: WideString readonly dispid 1;
  end;

// *********************************************************************//
// Interface: IEFTApplications
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7DE1FBE6-77D4-43F1-8A1F-8890381315BE}
// *********************************************************************//
  IEFTApplications = interface(IDispatch)
    ['{7DE1FBE6-77D4-43F1-8A1F-8890381315BE}']
    function Get_Item(const keyOrSeq: WideString): IEFTApplication; safecall;
    function Get_Count: Integer; safecall;
    property Item[const keyOrSeq: WideString]: IEFTApplication read Get_Item;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  IEFTApplicationsDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {7DE1FBE6-77D4-43F1-8A1F-8890381315BE}
// *********************************************************************//
  IEFTApplicationsDisp = dispinterface
    ['{7DE1FBE6-77D4-43F1-8A1F-8890381315BE}']
    property Item[const keyOrSeq: WideString]: IEFTApplication readonly dispid 1;
    property Count: Integer readonly dispid 2;
  end;

// *********************************************************************//
// Interface: IEFTApplication
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {B9648375-6BE1-4E54-8DBC-A023AA107031}
// *********************************************************************//
  IEFTApplication = interface(IDispatch)
    ['{B9648375-6BE1-4E54-8DBC-A023AA107031}']
    function Get_Name: WideString; safecall;
    function Get_Key: WideString; safecall;
    function Get_AID: WideString; safecall;
    function Get_BrandId: Integer; safecall;
    function Get_TerminalId: WideString; safecall;
    function Get_Currency: WideString; safecall;
    function Get_PeriodNumber: Integer; safecall;
    function Get_TotalCount: Integer; safecall;
    function Get_TotalAmount: Integer; safecall;
    function Get_DebitCount: Integer; safecall;
    function Get_DebitAmount: Integer; safecall;
    function Get_CreditCount: Integer; safecall;
    function Get_CreditAmount: Integer; safecall;
    function Get_VoidCount: Integer; safecall;
    function Get_VoidAmount: Integer; safecall;
    function Get_ReservationCount: Integer; safecall;
    function Get_ReservationAmount: Integer; safecall;
    function Get_ApplicationType: Integer; safecall;
    function Get_Value(const Name: WideString): WideString; safecall;
    property Name: WideString read Get_Name;
    property Key: WideString read Get_Key;
    property AID: WideString read Get_AID;
    property BrandId: Integer read Get_BrandId;
    property TerminalId: WideString read Get_TerminalId;
    property Currency: WideString read Get_Currency;
    property PeriodNumber: Integer read Get_PeriodNumber;
    property TotalCount: Integer read Get_TotalCount;
    property TotalAmount: Integer read Get_TotalAmount;
    property DebitCount: Integer read Get_DebitCount;
    property DebitAmount: Integer read Get_DebitAmount;
    property CreditCount: Integer read Get_CreditCount;
    property CreditAmount: Integer read Get_CreditAmount;
    property VoidCount: Integer read Get_VoidCount;
    property VoidAmount: Integer read Get_VoidAmount;
    property ReservationCount: Integer read Get_ReservationCount;
    property ReservationAmount: Integer read Get_ReservationAmount;
    property ApplicationType: Integer read Get_ApplicationType;
    property Value[const Name: WideString]: WideString read Get_Value; default;
  end;

// *********************************************************************//
// DispIntf:  IEFTApplicationDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {B9648375-6BE1-4E54-8DBC-A023AA107031}
// *********************************************************************//
  IEFTApplicationDisp = dispinterface
    ['{B9648375-6BE1-4E54-8DBC-A023AA107031}']
    property Name: WideString readonly dispid 1;
    property Key: WideString readonly dispid 2;
    property AID: WideString readonly dispid 3;
    property BrandId: Integer readonly dispid 4;
    property TerminalId: WideString readonly dispid 5;
    property Currency: WideString readonly dispid 6;
    property PeriodNumber: Integer readonly dispid 7;
    property TotalCount: Integer readonly dispid 8;
    property TotalAmount: Integer readonly dispid 9;
    property DebitCount: Integer readonly dispid 10;
    property DebitAmount: Integer readonly dispid 11;
    property CreditCount: Integer readonly dispid 12;
    property CreditAmount: Integer readonly dispid 13;
    property VoidCount: Integer readonly dispid 14;
    property VoidAmount: Integer readonly dispid 15;
    property ReservationCount: Integer readonly dispid 16;
    property ReservationAmount: Integer readonly dispid 17;
    property ApplicationType: Integer readonly dispid 18;
    property Value[const Name: WideString]: WideString readonly dispid 0; default;
  end;

// *********************************************************************//
// Interface: IEFTDevices
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {23CF8E60-C161-4C4F-9635-1EABB2E5FEDB}
// *********************************************************************//
  IEFTDevices = interface(IDispatch)
    ['{23CF8E60-C161-4C4F-9635-1EABB2E5FEDB}']
    function Get_Item(lIndex: Integer): IEFTDevice; safecall;
    function Get_Count: Integer; safecall;
    property Item[lIndex: Integer]: IEFTDevice read Get_Item;
    property Count: Integer read Get_Count;
  end;

// *********************************************************************//
// DispIntf:  IEFTDevicesDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {23CF8E60-C161-4C4F-9635-1EABB2E5FEDB}
// *********************************************************************//
  IEFTDevicesDisp = dispinterface
    ['{23CF8E60-C161-4C4F-9635-1EABB2E5FEDB}']
    property Item[lIndex: Integer]: IEFTDevice readonly dispid 1;
    property Count: Integer readonly dispid 2;
  end;

// *********************************************************************//
// Interface: IEFTDevice
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {34A1F211-C79B-466D-8659-45D8F85F430F}
// *********************************************************************//
  IEFTDevice = interface(IDispatch)
    ['{34A1F211-C79B-466D-8659-45D8F85F430F}']
    function Get_Value(const fieldName: WideString): WideString; safecall;
    function Get_DeviceId: WideString; safecall;
    function Get_Port: WideString; safecall;
    function Get_Class_: WideString; safecall;
    function Get_ProductName: WideString; safecall;
    function Get_SoftwareVersion: WideString; safecall;
    function Get_ConnectionType: WideString; safecall;
    function Get_Connection: WideString; safecall;
    function Get_EcrAddress: WideString; safecall;
    property Value[const fieldName: WideString]: WideString read Get_Value; default;
    property DeviceId: WideString read Get_DeviceId;
    property Port: WideString read Get_Port;
    property Class_: WideString read Get_Class_;
    property ProductName: WideString read Get_ProductName;
    property SoftwareVersion: WideString read Get_SoftwareVersion;
    property ConnectionType: WideString read Get_ConnectionType;
    property Connection: WideString read Get_Connection;
    property EcrAddress: WideString read Get_EcrAddress;
  end;

// *********************************************************************//
// DispIntf:  IEFTDeviceDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {34A1F211-C79B-466D-8659-45D8F85F430F}
// *********************************************************************//
  IEFTDeviceDisp = dispinterface
    ['{34A1F211-C79B-466D-8659-45D8F85F430F}']
    property Value[const fieldName: WideString]: WideString readonly dispid 0; default;
    property DeviceId: WideString readonly dispid 1;
    property Port: WideString readonly dispid 2;
    property Class_: WideString readonly dispid 3;
    property ProductName: WideString readonly dispid 4;
    property SoftwareVersion: WideString readonly dispid 5;
    property ConnectionType: WideString readonly dispid 6;
    property Connection: WideString readonly dispid 7;
    property EcrAddress: WideString readonly dispid 8;
  end;

// *********************************************************************//
// Die Klasse CoEFTDriver stellt die Methoden Create und CreateRemote zur      
// Verfuegung, um Instanzen des Standard-Interface IEFTDriver, dargestellt 
// von CoClass EFTDriver, zu erzeugen. Diese Funktionen koennen                     
// von einem Client verwendet werden, der die CoClasses automatisieren    
// will, die von dieser Typbibliothek dargestellt werden.                                            
// *********************************************************************//
  CoEFTDriver = class
    class function Create: IEFTDriver;
    class function CreateRemote(const MachineName: string): IEFTDriver;
  end;

implementation

uses ComObj;

class function CoEFTDriver.Create: IEFTDriver;
begin
  Result := CreateComObject(CLASS_EFTDriver) as IEFTDriver;
end;

class function CoEFTDriver.CreateRemote(const MachineName: string): IEFTDriver;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_EFTDriver) as IEFTDriver;
end;

end.
