home *** CD-ROM | disk | FTP | other *** search
/ Delphi Anthology / aDELPHI.iso / Runimage / Delphi50 / Source / Vcl / adoint.pas < prev    next >
Pascal/Delphi Source File  |  1999-08-11  |  99KB  |  2,286 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Borland Delphi Visual Component Library         }
  5. {       ADO Interface Unit                              }
  6. {                                                       }
  7. {       Copyright (c) 1999 Inprise Corporation          }
  8. {                                                       }
  9. {*******************************************************}
  10.  
  11. unit ADOInt;
  12.  
  13. // ********************************************************************* //
  14. // Type Lib: C:\PROGRAM FILES\COMMON FILES\SYSTEM\ADO\MSADO15.DLL        //
  15. // IID\LCID: {00000200-0000-0010-8000-00AA006D2EA4}\0                    //
  16. // PASTLWTR : $Revision:   1.3  $                                        //
  17. // HelpString: Microsoft ActiveX Data Objects 2.1 Library                //
  18. // Version:    2.1                                                       //
  19. // ********************************************************************* //
  20.  
  21. interface
  22.  
  23. uses Windows, ActiveX;
  24.  
  25. // ********************************************************************* //
  26. // GUIDS declared in the TypeLibrary. Following prefixes are used:       //
  27. //   Type Libraries     : LIBID_xxxx                                     //
  28. //   CoClasses          : CLASS_xxxx                                     //
  29. //   DISPInterfaces     : DIID_xxxx                                      //
  30. //   Non-DISP interfaces: IID_xxxx                                       //
  31. // ********************************************************************* //
  32. const
  33.   LIBID_ADODB: TGUID = '{00000201-0000-0010-8000-00AA006D2EA4}';
  34.   CLASS_Connection: TGUID = '{00000514-0000-0010-8000-00AA006D2EA4}';
  35.   CLASS_Command: TGUID = '{00000507-0000-0010-8000-00AA006D2EA4}';
  36.   CLASS_Recordset: TGUID = '{00000535-0000-0010-8000-00AA006D2EA4}';
  37.   CLASS_Parameter: TGUID = '{0000050B-0000-0010-8000-00AA006D2EA4}';
  38.   CLASS_DataSpace: TGUID = '{BD96C556-65A3-11D0-983A-00C04FC29E36}';
  39.   CLASS_DataFactory: TGUID = '{9381D8F5-0288-11D0-9501-00AA00B911A5}';
  40.   IID__Collection: TGUID = '{00000512-0000-0010-8000-00AA006D2EA4}';
  41.   IID__DynaCollection: TGUID = '{00000513-0000-0010-8000-00AA006D2EA4}';
  42.   IID__ADO: TGUID = '{00000534-0000-0010-8000-00AA006D2EA4}';
  43.   IID_Properties: TGUID = '{00000504-0000-0010-8000-00AA006D2EA4}';
  44.   IID_Property_: TGUID = '{00000503-0000-0010-8000-00AA006D2EA4}';
  45.   IID_Error: TGUID = '{00000500-0000-0010-8000-00AA006D2EA4}';
  46.   IID_Errors: TGUID = '{00000501-0000-0010-8000-00AA006D2EA4}';
  47.   IID_Command15: TGUID = '{00000508-0000-0010-8000-00AA006D2EA4}';
  48.   IID_Connection15: TGUID = '{00000515-0000-0010-8000-00AA006D2EA4}';
  49.   IID__Connection: TGUID = '{00000550-0000-0010-8000-00AA006D2EA4}';
  50.   IID_Recordset15: TGUID = '{0000050E-0000-0010-8000-00AA006D2EA4}';
  51.   IID_Recordset20: TGUID = '{0000054F-0000-0010-8000-00AA006D2EA4}';
  52.   IID__Recordset: TGUID = '{00000555-0000-0010-8000-00AA006D2EA4}';
  53.   IID_Fields15: TGUID = '{00000506-0000-0010-8000-00AA006D2EA4}';
  54.   IID_Fields: TGUID = '{0000054D-0000-0010-8000-00AA006D2EA4}';
  55.   IID_Field: TGUID = '{0000054C-0000-0010-8000-00AA006D2EA4}';
  56.   IID__Parameter: TGUID = '{0000050C-0000-0010-8000-00AA006D2EA4}';
  57.   IID_Parameters: TGUID = '{0000050D-0000-0010-8000-00AA006D2EA4}';
  58.   IID__Command: TGUID = '{0000054E-0000-0010-8000-00AA006D2EA4}';
  59.   IID_ConnectionEventsVt: TGUID = '{00000402-0000-0010-8000-00AA006D2EA4}';
  60.   DIID_ConnectionEvents: TGUID = '{00000400-0000-0010-8000-00AA006D2EA4}';
  61.   IID_RecordsetEventsVt: TGUID = '{00000403-0000-0010-8000-00AA006D2EA4}';
  62.   DIID_RecordsetEvents: TGUID = '{00000266-0000-0010-8000-00AA006D2EA4}';
  63.   IID_ADOConnectionConstruction15: TGUID = '{00000516-0000-0010-8000-00AA006D2EA4}';
  64.   IID_ADOConnectionConstruction: TGUID = '{00000551-0000-0010-8000-00AA006D2EA4}';
  65.   IID_ADOCommandConstruction: TGUID = '{00000517-0000-0010-8000-00AA006D2EA4}';
  66.   IID_ADORecordsetConstruction: TGUID = '{00000283-0000-0010-8000-00AA006D2EA4}';
  67.   IID_Field15: TGUID = '{00000505-0000-0010-8000-00AA006D2EA4}';
  68.   IID_IDataspace: TGUID = '{BD96C556-65A3-11D0-983A-00C04FC29E34}';
  69.  
  70. // *********************************************************************//
  71. // Misc. Constants (not from Type Library)                              //
  72. // *********************************************************************//
  73.  
  74. // ConnectionString Tags
  75. const
  76.   CT_USERID = 'USER ID=';     { Do not localize }
  77.   CT_PROVIDER = 'PROVIDER=';  { Do not localize }
  78.   CT_FILENAME = 'FILE NAME='; { Do not localize }
  79.  
  80. // *********************************************************************//
  81. // Declaration of Enumerations defined in Type Library                  //
  82. // *********************************************************************//
  83.  
  84. // CursorTypeEnum constants
  85. type
  86.   CursorTypeEnum = TOleEnum;
  87.   {$EXTERNALSYM CursorTypeEnum}
  88. const
  89.   adOpenUnspecified = -1;
  90.   {$EXTERNALSYM adOpenUnspecified}
  91.   adOpenForwardOnly = $00000000;
  92.   {$EXTERNALSYM adOpenForwardOnly}
  93.   adOpenKeyset = $00000001;
  94.   {$EXTERNALSYM adOpenKeyset}
  95.   adOpenDynamic = $00000002;
  96.   {$EXTERNALSYM adOpenDynamic}
  97.   adOpenStatic = $00000003;
  98.   {$EXTERNALSYM adOpenStatic}
  99.  
  100. // CursorOptionEnum constants
  101. type
  102.   CursorOptionEnum = TOleEnum;
  103.   {$EXTERNALSYM CursorOptionEnum}
  104. const
  105.   adHoldRecords = $00000100;
  106.   {$EXTERNALSYM adHoldRecords}
  107.   adMovePrevious = $00000200;
  108.   {$EXTERNALSYM adMovePrevious}
  109.   adAddNew = $01000400;
  110.   {$EXTERNALSYM adAddNew}
  111.   adDelete = $01000800;
  112.   {$EXTERNALSYM adDelete}
  113.   adUpdate = $01008000;
  114.   {$EXTERNALSYM adUpdate}
  115.   adBookmark = $00002000;
  116.   {$EXTERNALSYM adBookmark}
  117.   adApproxPosition = $00004000;
  118.   {$EXTERNALSYM adApproxPosition}
  119.   adUpdateBatch = $00010000;
  120.   {$EXTERNALSYM adUpdateBatch}
  121.   adResync = $00020000;
  122.   {$EXTERNALSYM adResync}
  123.   adNotify = $00040000;
  124.   {$EXTERNALSYM adNotify}
  125.   adFind = $00080000;
  126.   {$EXTERNALSYM adFind}
  127.   adSeek = $00400000;
  128.   {$EXTERNALSYM adSeek}
  129.   adIndex = $00800000;
  130.   {$EXTERNALSYM adIndex}
  131.  
  132. // LockTypeEnum constants
  133. type
  134.   LockTypeEnum = TOleEnum;
  135.   {$EXTERNALSYM LockTypeEnum}
  136. const
  137.   adLockUnspecified = -1;
  138.   {$EXTERNALSYM adLockUnspecified}
  139.   adLockReadOnly = $00000001;
  140.   {$EXTERNALSYM adLockReadOnly}
  141.   adLockPessimistic = $00000002;
  142.   {$EXTERNALSYM adLockPessimistic}
  143.   adLockOptimistic = $00000003;
  144.   {$EXTERNALSYM adLockOptimistic}
  145.   adLockBatchOptimistic = $00000004;
  146.   {$EXTERNALSYM adLockBatchOptimistic}
  147.  
  148. // ExecuteOptionEnum constants
  149. type
  150.   ExecuteOptionEnum = TOleEnum;
  151.   {$EXTERNALSYM ExecuteOptionEnum}
  152. const
  153.   adOptionUnspecified = -1;
  154.   {$EXTERNALSYM adOptionUnspecified}
  155.   adAsyncExecute = $00000010;
  156.   {$EXTERNALSYM adAsyncExecute}
  157.   adAsyncFetch = $00000020;
  158.   {$EXTERNALSYM adAsyncFetch}
  159.   adAsyncFetchNonBlocking = $00000040;
  160.   {$EXTERNALSYM adAsyncFetchNonBlocking}
  161.   adExecuteNoRecords = $00000080;
  162.   {$EXTERNALSYM adExecuteNoRecords}
  163.  
  164. // ConnectOptionEnum constants
  165. type
  166.   ConnectOptionEnum = TOleEnum;
  167.   {$EXTERNALSYM ConnectOptionEnum}
  168. const
  169.   adConnectUnspecified = -1;
  170.   {$EXTERNALSYM adConnectUnspecified}
  171.   adAsyncConnect = $00000010;
  172.   {$EXTERNALSYM adAsyncConnect}
  173.  
  174. // ObjectStateEnum constants
  175. type
  176.   ObjectStateEnum = TOleEnum;
  177.   {$EXTERNALSYM ObjectStateEnum}
  178. const
  179.   adStateClosed = $00000000;
  180.   {$EXTERNALSYM adStateClosed}
  181.   adStateOpen = $00000001;
  182.   {$EXTERNALSYM adStateOpen}
  183.   adStateConnecting = $00000002;
  184.   {$EXTERNALSYM adStateConnecting}
  185.   adStateExecuting = $00000004;
  186.   {$EXTERNALSYM adStateExecuting}
  187.   adStateFetching = $00000008;
  188.   {$EXTERNALSYM adStateFetching}
  189.  
  190. // CursorLocationEnum constants
  191. type
  192.   CursorLocationEnum = TOleEnum;
  193.   {$EXTERNALSYM CursorLocationEnum}
  194. const
  195.   adUseNone = $00000001;
  196.   {$EXTERNALSYM adUseNone}
  197.   adUseServer = $00000002;
  198.   {$EXTERNALSYM adUseServer}
  199.   adUseClient = $00000003;
  200.   {$EXTERNALSYM adUseClient}
  201.   adUseClientBatch = $00000003;
  202.   {$EXTERNALSYM adUseClientBatch}
  203.  
  204. // DataTypeEnum constants
  205. type
  206.   DataTypeEnum = TOleEnum;
  207.   {$EXTERNALSYM DataTypeEnum}
  208. const
  209.   adEmpty = $00000000;
  210.   {$EXTERNALSYM adEmpty}
  211.   adTinyInt = $00000010;
  212.   {$EXTERNALSYM adTinyInt}
  213.   adSmallInt = $00000002;
  214.   {$EXTERNALSYM adSmallInt}
  215.   adInteger = $00000003;
  216.   {$EXTERNALSYM adInteger}
  217.   adBigInt = $00000014;
  218.   {$EXTERNALSYM adBigInt}
  219.   adUnsignedTinyInt = $00000011;
  220.   {$EXTERNALSYM adUnsignedTinyInt}
  221.   adUnsignedSmallInt = $00000012;
  222.   {$EXTERNALSYM adUnsignedSmallInt}
  223.   adUnsignedInt = $00000013;
  224.   {$EXTERNALSYM adUnsignedInt}
  225.   adUnsignedBigInt = $00000015;
  226.   {$EXTERNALSYM adUnsignedBigInt}
  227.   adSingle = $00000004;
  228.   {$EXTERNALSYM adSingle}
  229.   adDouble = $00000005;
  230.   {$EXTERNALSYM adDouble}
  231.   adCurrency = $00000006;
  232.   {$EXTERNALSYM adCurrency}
  233.   adDecimal = $0000000E;
  234.   {$EXTERNALSYM adDecimal}
  235.   adNumeric = $00000083;
  236.   {$EXTERNALSYM adNumeric}
  237.   adBoolean = $0000000B;
  238.   {$EXTERNALSYM adBoolean}
  239.   adError = $0000000A;
  240.   {$EXTERNALSYM adError}
  241.   adUserDefined = $00000084;
  242.   {$EXTERNALSYM adUserDefined}
  243.   adVariant = $0000000C;
  244.   {$EXTERNALSYM adVariant}
  245.   adIDispatch = $00000009;
  246.   {$EXTERNALSYM adIDispatch}
  247.   adIUnknown = $0000000D;
  248.   {$EXTERNALSYM adIUnknown}
  249.   adGUID = $00000048;
  250.   {$EXTERNALSYM adGUID}
  251.   adDate = $00000007;
  252.   {$EXTERNALSYM adDate}
  253.   adDBDate = $00000085;
  254.   {$EXTERNALSYM adDBDate}
  255.   adDBTime = $00000086;
  256.   {$EXTERNALSYM adDBTime}
  257.   adDBTimeStamp = $00000087;
  258.   {$EXTERNALSYM adDBTimeStamp}
  259.   adBSTR = $00000008;
  260.   {$EXTERNALSYM adBSTR}
  261.   adChar = $00000081;
  262.   {$EXTERNALSYM adChar}
  263.   adVarChar = $000000C8;
  264.   {$EXTERNALSYM adVarChar}
  265.   adLongVarChar = $000000C9;
  266.   {$EXTERNALSYM adLongVarChar}
  267.   adWChar = $00000082;
  268.   {$EXTERNALSYM adWChar}
  269.   adVarWChar = $000000CA;
  270.   {$EXTERNALSYM adVarWChar}
  271.   adLongVarWChar = $000000CB;
  272.   {$EXTERNALSYM adLongVarWChar}
  273.   adBinary = $00000080;
  274.   {$EXTERNALSYM adBinary}
  275.   adVarBinary = $000000CC;
  276.   {$EXTERNALSYM adVarBinary}
  277.   adLongVarBinary = $000000CD;
  278.   {$EXTERNALSYM adLongVarBinary}
  279.   adChapter = $00000088;
  280.   {$EXTERNALSYM adChapter}
  281.   adFileTime = $00000040;
  282.   {$EXTERNALSYM adFileTime}
  283.   adDBFileTime = $00000089;
  284.   {$EXTERNALSYM adDBFileTime}
  285.   adPropVariant = $0000008A;
  286.   {$EXTERNALSYM adPropVariant}
  287.   adVarNumeric = $0000008B;
  288.   {$EXTERNALSYM adVarNumeric}
  289.  
  290. // FieldAttributeEnum constants
  291. type
  292.   FieldAttributeEnum = TOleEnum;
  293.   {$EXTERNALSYM FieldAttributeEnum}
  294. const
  295.   adFldUnspecified = -1;
  296.   {$EXTERNALSYM adFldUnspecified}
  297.   adFldMayDefer = $00000002;
  298.   {$EXTERNALSYM adFldMayDefer}
  299.   adFldUpdatable = $00000004;
  300.   {$EXTERNALSYM adFldUpdatable}
  301.   adFldUnknownUpdatable = $00000008;
  302.   {$EXTERNALSYM adFldUnknownUpdatable}
  303.   adFldFixed = $00000010;
  304.   {$EXTERNALSYM adFldFixed}
  305.   adFldIsNullable = $00000020;
  306.   {$EXTERNALSYM adFldIsNullable}
  307.   adFldMayBeNull = $00000040;
  308.   {$EXTERNALSYM adFldMayBeNull}
  309.   adFldLong = $00000080;
  310.   {$EXTERNALSYM adFldLong}
  311.   adFldRowID = $00000100;
  312.   {$EXTERNALSYM adFldRowID}
  313.   adFldRowVersion = $00000200;
  314.   {$EXTERNALSYM adFldRowVersion}
  315.   adFldCacheDeferred = $00001000;
  316.   {$EXTERNALSYM adFldCacheDeferred}
  317.   adFldNegativeScale = $00004000;
  318.   {$EXTERNALSYM adFldNegativeScale}
  319.   adFldKeyColumn = $00008000;
  320.   {$EXTERNALSYM adFldKeyColumn}
  321.  
  322. // EditModeEnum constants
  323. type
  324.   EditModeEnum = TOleEnum;
  325.   {$EXTERNALSYM EditModeEnum}
  326. const
  327.   adEditNone = $00000000;
  328.   {$EXTERNALSYM adEditNone}
  329.   adEditInProgress = $00000001;
  330.   {$EXTERNALSYM adEditInProgress}
  331.   adEditAdd = $00000002;
  332.   {$EXTERNALSYM adEditAdd}
  333.   adEditDelete = $00000004;
  334.   {$EXTERNALSYM adEditDelete}
  335.  
  336. // RecordStatusEnum constants
  337. type
  338.   RecordStatusEnum = TOleEnum;
  339.   {$EXTERNALSYM RecordStatusEnum}
  340. const
  341.   adRecOK = $00000000;
  342.   {$EXTERNALSYM adRecOK}
  343.   adRecNew = $00000001;
  344.   {$EXTERNALSYM adRecNew}
  345.   adRecModified = $00000002;
  346.   {$EXTERNALSYM adRecModified}
  347.   adRecDeleted = $00000004;
  348.   {$EXTERNALSYM adRecDeleted}
  349.   adRecUnmodified = $00000008;
  350.   {$EXTERNALSYM adRecUnmodified}
  351.   adRecInvalid = $00000010;
  352.   {$EXTERNALSYM adRecInvalid}
  353.   adRecMultipleChanges = $00000040;
  354.   {$EXTERNALSYM adRecMultipleChanges}
  355.   adRecPendingChanges = $00000080;
  356.   {$EXTERNALSYM adRecPendingChanges}
  357.   adRecCanceled = $00000100;
  358.   {$EXTERNALSYM adRecCanceled}
  359.   adRecCantRelease = $00000400;
  360.   {$EXTERNALSYM adRecCantRelease}
  361.   adRecConcurrencyViolation = $00000800;
  362.   {$EXTERNALSYM adRecConcurrencyViolation}
  363.   adRecIntegrityViolation = $00001000;
  364.   {$EXTERNALSYM adRecIntegrityViolation}
  365.   adRecMaxChangesExceeded = $00002000;
  366.   {$EXTERNALSYM adRecMaxChangesExceeded}
  367.   adRecObjectOpen = $00004000;
  368.   {$EXTERNALSYM adRecObjectOpen}
  369.   adRecOutOfMemory = $00008000;
  370.   {$EXTERNALSYM adRecOutOfMemory}
  371.   adRecPermissionDenied = $00010000;
  372.   {$EXTERNALSYM adRecPermissionDenied}
  373.   adRecSchemaViolation = $00020000;
  374.   {$EXTERNALSYM adRecSchemaViolation}
  375.   adRecDBDeleted = $00040000;
  376.   {$EXTERNALSYM adRecDBDeleted}
  377.  
  378. // GetRowsOptionEnum constants
  379. type
  380.   GetRowsOptionEnum = TOleEnum;
  381.   {$EXTERNALSYM GetRowsOptionEnum}
  382. const
  383.   adGetRowsRest = -1;
  384.   {$EXTERNALSYM adGetRowsRest}
  385.  
  386. // PositionEnum constants
  387. type
  388.   PositionEnum = TOleEnum;
  389.   {$EXTERNALSYM PositionEnum}
  390. const
  391.   adPosUnknown = -1;
  392.   {$EXTERNALSYM adPosUnknown}
  393.   adPosBOF = $FFFFFFFE;
  394.   {$EXTERNALSYM adPosBOF}
  395.   adPosEOF = $FFFFFFFD;
  396.   {$EXTERNALSYM adPosEOF}
  397.  
  398. // BookmarkEnum constants
  399. type
  400.   BookmarkEnum = TOleEnum;
  401.   {$EXTERNALSYM BookmarkEnum}
  402. const
  403.   adBookmarkCurrent = $00000000;
  404.   {$EXTERNALSYM adBookmarkCurrent}
  405.   adBookmarkFirst = $00000001;
  406.   {$EXTERNALSYM adBookmarkFirst}
  407.   adBookmarkLast = $00000002;
  408.   {$EXTERNALSYM adBookmarkLast}
  409.  
  410. // MarshalOptionsEnum constants
  411. type
  412.   MarshalOptionsEnum = TOleEnum;
  413.   {$EXTERNALSYM MarshalOptionsEnum}
  414. const
  415.   adMarshalAll = $00000000;
  416.   {$EXTERNALSYM adMarshalAll}
  417.   adMarshalModifiedOnly = $00000001;
  418.   {$EXTERNALSYM adMarshalModifiedOnly}
  419.  
  420. // AffectEnum constants
  421. type
  422.   AffectEnum = TOleEnum;
  423.   {$EXTERNALSYM AffectEnum}
  424. const
  425.   adAffectCurrent = $00000001;
  426.   {$EXTERNALSYM adAffectCurrent}
  427.   adAffectGroup = $00000002;
  428.   {$EXTERNALSYM adAffectGroup}
  429.   adAffectAll = $00000003;
  430.   {$EXTERNALSYM adAffectAll}
  431.   adAffectAllChapters = $00000004;
  432.   {$EXTERNALSYM adAffectAllChapters}
  433.  
  434. // ResyncEnum constants
  435. type
  436.   ResyncEnum = TOleEnum;
  437.   {$EXTERNALSYM ResyncEnum}
  438. const
  439.   adResyncUnderlyingValues = $00000001;
  440.   {$EXTERNALSYM adResyncUnderlyingValues}
  441.   adResyncAllValues = $00000002;
  442.   {$EXTERNALSYM adResyncAllValues}
  443.  
  444. // CompareEnum constants
  445. type
  446.   CompareEnum = TOleEnum;
  447.   {$EXTERNALSYM CompareEnum}
  448. const
  449.   adCompareLessThan = $00000000;
  450.   {$EXTERNALSYM adCompareLessThan}
  451.   adCompareEqual = $00000001;
  452.   {$EXTERNALSYM adCompareEqual}
  453.   adCompareGreaterThan = $00000002;
  454.   {$EXTERNALSYM adCompareGreaterThan}
  455.   adCompareNotEqual = $00000003;
  456.   {$EXTERNALSYM adCompareNotEqual}
  457.   adCompareNotComparable = $00000004;
  458.   {$EXTERNALSYM adCompareNotComparable}
  459.  
  460. // FilterGroupEnum constants
  461. type
  462.   FilterGroupEnum = TOleEnum;
  463.   {$EXTERNALSYM FilterGroupEnum}
  464. const
  465.   adFilterNone = $00000000;
  466.   {$EXTERNALSYM adFilterNone}
  467.   adFilterPendingRecords = $00000001;
  468.   {$EXTERNALSYM adFilterPendingRecords}
  469.   adFilterAffectedRecords = $00000002;
  470.   {$EXTERNALSYM adFilterAffectedRecords}
  471.   adFilterFetchedRecords = $00000003;
  472.   {$EXTERNALSYM adFilterFetchedRecords}
  473.   adFilterPredicate = $00000004;
  474.   {$EXTERNALSYM adFilterPredicate}
  475.   adFilterConflictingRecords = $00000005;
  476.   {$EXTERNALSYM adFilterConflictingRecords}
  477.  
  478. // SearchDirectionEnum constants
  479. type
  480.   SearchDirectionEnum = TOleEnum;
  481.   {$EXTERNALSYM SearchDirectionEnum}
  482. const
  483.   adSearchForward = $00000001;
  484.   {$EXTERNALSYM adSearchForward}
  485.   adSearchBackward = -1;
  486.   {$EXTERNALSYM adSearchBackward}
  487.  
  488. // PersistFormatEnum constants
  489. type
  490.   PersistFormatEnum = TOleEnum;
  491.   {$EXTERNALSYM PersistFormatEnum}
  492. const
  493.   adPersistADTG = $00000000;
  494.   {$EXTERNALSYM adPersistADTG}
  495.   adPersistXML = $00000001;
  496.   {$EXTERNALSYM adPersistXML}
  497.  
  498. // StringFormatEnum constants
  499. type
  500.   StringFormatEnum = TOleEnum;
  501.   {$EXTERNALSYM StringFormatEnum}
  502. const
  503.   adClipString = $00000002;
  504.   {$EXTERNALSYM adClipString}
  505.  
  506. // ConnectPromptEnum constants
  507. type
  508.   ConnectPromptEnum = TOleEnum;
  509.   {$EXTERNALSYM ConnectPromptEnum}
  510. const
  511.   adPromptAlways = $00000001;
  512.   {$EXTERNALSYM adPromptAlways}
  513.   adPromptComplete = $00000002;
  514.   {$EXTERNALSYM adPromptComplete}
  515.   adPromptCompleteRequired = $00000003;
  516.   {$EXTERNALSYM adPromptCompleteRequired}
  517.   adPromptNever = $00000004;
  518.   {$EXTERNALSYM adPromptNever}
  519.  
  520. // ConnectModeEnum constants
  521. type
  522.   ConnectModeEnum = TOleEnum;
  523.   {$EXTERNALSYM ConnectModeEnum}
  524. const
  525.   adModeUnknown = $00000000;
  526.   {$EXTERNALSYM adModeUnknown}
  527.   adModeRead = $00000001;
  528.   {$EXTERNALSYM adModeRead}
  529.   adModeWrite = $00000002;
  530.   {$EXTERNALSYM adModeWrite}
  531.   adModeReadWrite = $00000003;
  532.   {$EXTERNALSYM adModeReadWrite}
  533.   adModeShareDenyRead = $00000004;
  534.   {$EXTERNALSYM adModeShareDenyRead}
  535.   adModeShareDenyWrite = $00000008;
  536.   {$EXTERNALSYM adModeShareDenyWrite}
  537.   adModeShareExclusive = $0000000C;
  538.   {$EXTERNALSYM adModeShareExclusive}
  539.   adModeShareDenyNone = $00000010;
  540.   {$EXTERNALSYM adModeShareDenyNone}
  541.  
  542. // IsolationLevelEnum constants
  543. type
  544.   IsolationLevelEnum = TOleEnum;
  545.   {$EXTERNALSYM IsolationLevelEnum}
  546. const
  547.   adXactUnspecified = -1;
  548.   {$EXTERNALSYM adXactUnspecified}
  549.   adXactChaos = $00000010;
  550.   {$EXTERNALSYM adXactChaos}
  551.   adXactReadUncommitted = $00000100;
  552.   {$EXTERNALSYM adXactReadUncommitted}
  553.   adXactBrowse = $00000100;
  554.   {$EXTERNALSYM adXactBrowse}
  555.   adXactCursorStability = $00001000;
  556.   {$EXTERNALSYM adXactCursorStability}
  557.   adXactReadCommitted = $00001000;
  558.   {$EXTERNALSYM adXactReadCommitted}
  559.   adXactRepeatableRead = $00010000;
  560.   {$EXTERNALSYM adXactRepeatableRead}
  561.   adXactSerializable = $00100000;
  562.   {$EXTERNALSYM adXactSerializable}
  563.   adXactIsolated = $00100000;
  564.   {$EXTERNALSYM adXactIsolated}
  565.  
  566. // XactAttributeEnum constants
  567. type
  568.   XactAttributeEnum = TOleEnum;
  569.   {$EXTERNALSYM XactAttributeEnum}
  570. const
  571.   adXactCommitRetaining = $00020000;
  572.   {$EXTERNALSYM adXactCommitRetaining}
  573.   adXactAbortRetaining = $00040000;
  574.   {$EXTERNALSYM adXactAbortRetaining}
  575.   adXactAsyncPhaseOne = $00080000;
  576.   {$EXTERNALSYM adXactAsyncPhaseOne}
  577.   adXactSyncPhaseOne = $00100000;
  578.   {$EXTERNALSYM adXactSyncPhaseOne}
  579.  
  580. // PropertyAttributesEnum constants
  581. type
  582.   PropertyAttributesEnum = TOleEnum;
  583.   {$EXTERNALSYM PropertyAttributesEnum}
  584. const
  585.   adPropNotSupported = $00000000;
  586.   {$EXTERNALSYM adPropNotSupported}
  587.   adPropRequired = $00000001;
  588.   {$EXTERNALSYM adPropRequired}
  589.   adPropOptional = $00000002;
  590.   {$EXTERNALSYM adPropOptional}
  591.   adPropRead = $00000200;
  592.   {$EXTERNALSYM adPropRead}
  593.   adPropWrite = $00000400;
  594.   {$EXTERNALSYM adPropWrite}
  595.  
  596. // ErrorValueEnum constants
  597. type
  598.   ErrorValueEnum = TOleEnum;
  599.   {$EXTERNALSYM ErrorValueEnum}
  600. const
  601.   adErrInvalidArgument = $00000BB9;
  602.   {$EXTERNALSYM adErrInvalidArgument}
  603.   adErrNoCurrentRecord = $00000BCD;
  604.   {$EXTERNALSYM adErrNoCurrentRecord}
  605.   adErrIllegalOperation = $00000C93;
  606.   {$EXTERNALSYM adErrIllegalOperation}
  607.   adErrInTransaction = $00000CAE;
  608.   {$EXTERNALSYM adErrInTransaction}
  609.   adErrFeatureNotAvailable = $00000CB3;
  610.   {$EXTERNALSYM adErrFeatureNotAvailable}
  611.   adErrItemNotFound = $00000CC1;
  612.   {$EXTERNALSYM adErrItemNotFound}
  613.   adErrObjectInCollection = $00000D27;
  614.   {$EXTERNALSYM adErrObjectInCollection}
  615.   adErrObjectNotSet = $00000D5C;
  616.   {$EXTERNALSYM adErrObjectNotSet}
  617.   adErrDataConversion = $00000D5D;
  618.   {$EXTERNALSYM adErrDataConversion}
  619.   adErrObjectClosed = $00000E78;
  620.   {$EXTERNALSYM adErrObjectClosed}
  621.   adErrObjectOpen = $00000E79;
  622.   {$EXTERNALSYM adErrObjectOpen}
  623.   adErrProviderNotFound = $00000E7A;
  624.   {$EXTERNALSYM adErrProviderNotFound}
  625.   adErrBoundToCommand = $00000E7B;
  626.   {$EXTERNALSYM adErrBoundToCommand}
  627.   adErrInvalidParamInfo = $00000E7C;
  628.   {$EXTERNALSYM adErrInvalidParamInfo}
  629.   adErrInvalidConnection = $00000E7D;
  630.   {$EXTERNALSYM adErrInvalidConnection}
  631.   adErrNotReentrant = $00000E7E;
  632.   {$EXTERNALSYM adErrNotReentrant}
  633.   adErrStillExecuting = $00000E7F;
  634.   {$EXTERNALSYM adErrStillExecuting}
  635.   adErrOperationCancelled = $00000E80;
  636.   {$EXTERNALSYM adErrOperationCancelled}
  637.   adErrStillConnecting = $00000E81;
  638.   {$EXTERNALSYM adErrStillConnecting}
  639.   adErrNotExecuting = $00000E83;
  640.   {$EXTERNALSYM adErrNotExecuting}
  641.   adErrUnsafeOperation = $00000E84;
  642.   {$EXTERNALSYM adErrUnsafeOperation}
  643.  
  644. // ParameterAttributesEnum constants
  645. type
  646.   ParameterAttributesEnum = TOleEnum;
  647.   {$EXTERNALSYM ParameterAttributesEnum}
  648. const
  649.   adParamSigned = $00000010;
  650.   {$EXTERNALSYM adParamSigned}
  651.   adParamNullable = $00000040;
  652.   {$EXTERNALSYM adParamNullable}
  653.   adParamLong = $00000080;
  654.   {$EXTERNALSYM adParamLong}
  655.  
  656. // ParameterDirectionEnum constants
  657. type
  658.   ParameterDirectionEnum = TOleEnum;
  659.   {$EXTERNALSYM ParameterDirectionEnum}
  660. const
  661.   adParamUnknown = $00000000;
  662.   {$EXTERNALSYM adParamUnknown}
  663.   adParamInput = $00000001;
  664.   {$EXTERNALSYM adParamInput}
  665.   adParamOutput = $00000002;
  666.   {$EXTERNALSYM adParamOutput}
  667.   adParamInputOutput = $00000003;
  668.   {$EXTERNALSYM adParamInputOutput}
  669.   adParamReturnValue = $00000004;
  670.   {$EXTERNALSYM adParamReturnValue}
  671.  
  672. // CommandTypeEnum constants
  673. type
  674.   CommandTypeEnum = TOleEnum;
  675.   {$EXTERNALSYM CommandTypeEnum}
  676. const
  677.   adCmdUnspecified = -1;
  678.   {$EXTERNALSYM adCmdUnspecified}
  679.   adCmdUnknown = $00000008;
  680.   {$EXTERNALSYM adCmdUnknown}
  681.   adCmdText = $00000001;
  682.   {$EXTERNALSYM adCmdText}
  683.   adCmdTable = $00000002;
  684.   {$EXTERNALSYM adCmdTable}
  685.   adCmdStoredProc = $00000004;
  686.   {$EXTERNALSYM adCmdStoredProc}
  687.   adCmdFile = $00000100;
  688.   {$EXTERNALSYM adCmdFile}
  689.   adCmdTableDirect = $00000200;
  690.   {$EXTERNALSYM adCmdTableDirect}
  691.  
  692. // EventStatusEnum constants
  693. type
  694.   EventStatusEnum = TOleEnum;
  695.   {$EXTERNALSYM EventStatusEnum}
  696. const
  697.   adStatusOK = $00000001;
  698.   {$EXTERNALSYM adStatusOK}
  699.   adStatusErrorsOccurred = $00000002;
  700.   {$EXTERNALSYM adStatusErrorsOccurred}
  701.   adStatusCantDeny = $00000003;
  702.   {$EXTERNALSYM adStatusCantDeny}
  703.   adStatusCancel = $00000004;
  704.   {$EXTERNALSYM adStatusCancel}
  705.   adStatusUnwantedEvent = $00000005;
  706.   {$EXTERNALSYM adStatusUnwantedEvent}
  707.  
  708. // EventReasonEnum constants
  709. type
  710.   EventReasonEnum = TOleEnum;
  711.   {$EXTERNALSYM EventReasonEnum}
  712. const
  713.   adRsnAddNew = $00000001;
  714.   {$EXTERNALSYM adRsnAddNew}
  715.   adRsnDelete = $00000002;
  716.   {$EXTERNALSYM adRsnDelete}
  717.   adRsnUpdate = $00000003;
  718.   {$EXTERNALSYM adRsnUpdate}
  719.   adRsnUndoUpdate = $00000004;
  720.   {$EXTERNALSYM adRsnUndoUpdate}
  721.   adRsnUndoAddNew = $00000005;
  722.   {$EXTERNALSYM adRsnUndoAddNew}
  723.   adRsnUndoDelete = $00000006;
  724.   {$EXTERNALSYM adRsnUndoDelete}
  725.   adRsnRequery = $00000007;
  726.   {$EXTERNALSYM adRsnRequery}
  727.   adRsnResynch = $00000008;
  728.   {$EXTERNALSYM adRsnResynch}
  729.   adRsnClose = $00000009;
  730.   {$EXTERNALSYM adRsnClose}
  731.   adRsnMove = $0000000A;
  732.   {$EXTERNALSYM adRsnMove}
  733.   adRsnFirstChange = $0000000B;
  734.   {$EXTERNALSYM adRsnFirstChange}
  735.   adRsnMoveFirst = $0000000C;
  736.   {$EXTERNALSYM adRsnMoveFirst}
  737.   adRsnMoveNext = $0000000D;
  738.   {$EXTERNALSYM adRsnMoveNext}
  739.   adRsnMovePrevious = $0000000E;
  740.   {$EXTERNALSYM adRsnMovePrevious}
  741.   adRsnMoveLast = $0000000F;
  742.   {$EXTERNALSYM adRsnMoveLast}
  743.  
  744. // SchemaEnum constants
  745. type
  746.   SchemaEnum = TOleEnum;
  747.   {$EXTERNALSYM SchemaEnum}
  748. const
  749.   adSchemaProviderSpecific = -1;
  750.   {$EXTERNALSYM adSchemaProviderSpecific}
  751.   adSchemaAsserts = $00000000;
  752.   {$EXTERNALSYM adSchemaAsserts}
  753.   adSchemaCatalogs = $00000001;
  754.   {$EXTERNALSYM adSchemaCatalogs}
  755.   adSchemaCharacterSets = $00000002;
  756.   {$EXTERNALSYM adSchemaCharacterSets}
  757.   adSchemaCollations = $00000003;
  758.   {$EXTERNALSYM adSchemaCollations}
  759.   adSchemaColumns = $00000004;
  760.   {$EXTERNALSYM adSchemaColumns}
  761.   adSchemaCheckConstraints = $00000005;
  762.   {$EXTERNALSYM adSchemaCheckConstraints}
  763.   adSchemaConstraintColumnUsage = $00000006;
  764.   {$EXTERNALSYM adSchemaConstraintColumnUsage}
  765.   adSchemaConstraintTableUsage = $00000007;
  766.   {$EXTERNALSYM adSchemaConstraintTableUsage}
  767.   adSchemaKeyColumnUsage = $00000008;
  768.   {$EXTERNALSYM adSchemaKeyColumnUsage}
  769.   adSchemaReferentialConstraints = $00000009;
  770.   {$EXTERNALSYM adSchemaReferentialConstraints}
  771.   adSchemaTableConstraints = $0000000A;
  772.   {$EXTERNALSYM adSchemaTableConstraints}
  773.   adSchemaColumnsDomainUsage = $0000000B;
  774.   {$EXTERNALSYM adSchemaColumnsDomainUsage}
  775.   adSchemaIndexes = $0000000C;
  776.   {$EXTERNALSYM adSchemaIndexes}
  777.   adSchemaColumnPrivileges = $0000000D;
  778.   {$EXTERNALSYM adSchemaColumnPrivileges}
  779.   adSchemaTablePrivileges = $0000000E;
  780.   {$EXTERNALSYM adSchemaTablePrivileges}
  781.   adSchemaUsagePrivileges = $0000000F;
  782.   {$EXTERNALSYM adSchemaUsagePrivileges}
  783.   adSchemaProcedures = $00000010;
  784.   {$EXTERNALSYM adSchemaProcedures}
  785.   adSchemaSchemata = $00000011;
  786.   {$EXTERNALSYM adSchemaSchemata}
  787.   adSchemaSQLLanguages = $00000012;
  788.   {$EXTERNALSYM adSchemaSQLLanguages}
  789.   adSchemaStatistics = $00000013;
  790.   {$EXTERNALSYM adSchemaStatistics}
  791.   adSchemaTables = $00000014;
  792.   {$EXTERNALSYM adSchemaTables}
  793.   adSchemaTranslations = $00000015;
  794.   {$EXTERNALSYM adSchemaTranslations}
  795.   adSchemaProviderTypes = $00000016;
  796.   {$EXTERNALSYM adSchemaProviderTypes}
  797.   adSchemaViews = $00000017;
  798.   {$EXTERNALSYM adSchemaViews}
  799.   adSchemaViewColumnUsage = $00000018;
  800.   {$EXTERNALSYM adSchemaViewColumnUsage}
  801.   adSchemaViewTableUsage = $00000019;
  802.   {$EXTERNALSYM adSchemaViewTableUsage}
  803.   adSchemaProcedureParameters = $0000001A;
  804.   {$EXTERNALSYM adSchemaProcedureParameters}
  805.   adSchemaForeignKeys = $0000001B;
  806.   {$EXTERNALSYM adSchemaForeignKeys}
  807.   adSchemaPrimaryKeys = $0000001C;
  808.   {$EXTERNALSYM adSchemaPrimaryKeys}
  809.   adSchemaProcedureColumns = $0000001D;
  810.   {$EXTERNALSYM adSchemaProcedureColumns}
  811.   adSchemaDBInfoKeywords = $0000001E;
  812.   {$EXTERNALSYM adSchemaDBInfoKeywords}
  813.   adSchemaDBInfoLiterals = $0000001F;
  814.   {$EXTERNALSYM adSchemaDBInfoLiterals}
  815.   adSchemaCubes = $00000020;
  816.   {$EXTERNALSYM adSchemaCubes}
  817.   adSchemaDimensions = $00000021;
  818.   {$EXTERNALSYM adSchemaDimensions}
  819.   adSchemaHierarchies = $00000022;
  820.   {$EXTERNALSYM adSchemaHierarchies}
  821.   adSchemaLevels = $00000023;
  822.   {$EXTERNALSYM adSchemaLevels}
  823.   adSchemaMeasures = $00000024;
  824.   {$EXTERNALSYM adSchemaMeasures}
  825.   adSchemaProperties = $00000025;
  826.   {$EXTERNALSYM adSchemaProperties}
  827.   adSchemaMembers = $00000026;
  828.   {$EXTERNALSYM adSchemaMembers}
  829.   adSchemaTrustees = $00000027;
  830.   {$EXTERNALSYM adSchemaTrustees}
  831.  
  832. // SeekEnum constants
  833. type
  834.   SeekEnum = TOleEnum;
  835.   {$EXTERNALSYM SeekEnum}
  836. const
  837.   adSeekFirstEQ = $00000001;
  838.   {$EXTERNALSYM adSeekFirstEQ}
  839.   adSeekLastEQ = $00000002;
  840.   {$EXTERNALSYM adSeekLastEQ}
  841.   adSeekAfterEQ = $00000004;
  842.   {$EXTERNALSYM adSeekAfterEQ}
  843.   adSeekAfter = $00000008;
  844.   {$EXTERNALSYM adSeekAfter}
  845.   adSeekBeforeEQ = $00000010;
  846.   {$EXTERNALSYM adSeekBeforeEQ}
  847.   adSeekBefore = $00000020;
  848.   {$EXTERNALSYM adSeekBefore}
  849.  
  850. // ADCPROP_UPDATECRITERIA_ENUM constants
  851. type
  852.   ADCPROP_UPDATECRITERIA_ENUM = TOleEnum;
  853.   {$EXTERNALSYM ADCPROP_UPDATECRITERIA_ENUM}
  854. const
  855.   adCriteriaKey = $00000000;
  856.   {$EXTERNALSYM adCriteriaKey}
  857.   adCriteriaAllCols = $00000001;
  858.   {$EXTERNALSYM adCriteriaAllCols}
  859.   adCriteriaUpdCols = $00000002;
  860.   {$EXTERNALSYM adCriteriaUpdCols}
  861.   adCriteriaTimeStamp = $00000003;
  862.   {$EXTERNALSYM adCriteriaTimeStamp}
  863.  
  864. // ADCPROP_ASYNCTHREADPRIORITY_ENUM constants
  865. type
  866.   ADCPROP_ASYNCTHREADPRIORITY_ENUM = TOleEnum;
  867.   {$EXTERNALSYM ADCPROP_ASYNCTHREADPRIORITY_ENUM}
  868. const
  869.   adPriorityLowest = $00000001;
  870.   {$EXTERNALSYM adPriorityLowest}
  871.   adPriorityBelowNormal = $00000002;
  872.   {$EXTERNALSYM adPriorityBelowNormal}
  873.   adPriorityNormal = $00000003;
  874.   {$EXTERNALSYM adPriorityNormal}
  875.   adPriorityAboveNormal = $00000004;
  876.   {$EXTERNALSYM adPriorityAboveNormal}
  877.   adPriorityHighest = $00000005;
  878.   {$EXTERNALSYM adPriorityHighest}
  879.  
  880. // CEResyncEnum constants
  881. type
  882.   CEResyncEnum = TOleEnum;
  883.   {$EXTERNALSYM CEResyncEnum}
  884. const
  885.   adResyncNone = $00000000;
  886.   {$EXTERNALSYM adResyncNone}
  887.   adResyncAutoIncrement = $00000001;
  888.   {$EXTERNALSYM adResyncAutoIncrement}
  889.   adResyncConflicts = $00000002;
  890.   {$EXTERNALSYM adResyncConflicts}
  891.   adResyncUpdates = $00000004;
  892.   {$EXTERNALSYM adResyncUpdates}
  893.   adResyncInserts = $00000008;
  894.   {$EXTERNALSYM adResyncInserts}
  895.   adResyncAll = $0000000F;
  896.   {$EXTERNALSYM adResyncAll}
  897.  
  898. // ADCPROP_AUTORECALC_ENUM constants
  899. type
  900.   ADCPROP_AUTORECALC_ENUM = TOleEnum;
  901.   {$EXTERNALSYM ADCPROP_AUTORECALC_ENUM}
  902. const
  903.   adRecalcUpFront = $00000000;
  904.   {$EXTERNALSYM adRecalcUpFront}
  905.   adRecalcAlways = $00000001;
  906.   {$EXTERNALSYM adRecalcAlways}
  907.  
  908. type
  909.  
  910. // *********************************************************************//
  911. // Forward declaration of interfaces defined in Type Library            //
  912. // *********************************************************************//
  913.  
  914.   _Collection = interface;
  915.   {$EXTERNALSYM _Collection}
  916.   _CollectionDisp = dispinterface;
  917.   {$EXTERNALSYM _CollectionDisp}
  918.   _DynaCollection = interface;
  919.   {$EXTERNALSYM _DynaCollection}
  920.   _DynaCollectionDisp = dispinterface;
  921.   {$EXTERNALSYM _DynaCollectionDisp}
  922.   _ADO = interface;
  923.   {$EXTERNALSYM _ADO}
  924.   _ADODisp = dispinterface;
  925.   {$EXTERNALSYM _ADODisp}
  926.   Properties = interface;
  927.   {$EXTERNALSYM Properties}
  928.   PropertiesDisp = dispinterface;
  929.   {$EXTERNALSYM PropertiesDisp}
  930.  
  931.   Property_ = interface;
  932.   Property_Disp = dispinterface;
  933.  
  934.   Error = interface;
  935.   {$EXTERNALSYM Error}
  936.   ErrorDisp = dispinterface;
  937.   {$EXTERNALSYM ErrorDisp}
  938.   Errors = interface;
  939.   {$EXTERNALSYM Errors}
  940.   ErrorsDisp = dispinterface;
  941.   {$EXTERNALSYM ErrorsDisp}
  942.   Command15 = interface;
  943.   {$EXTERNALSYM Command15}
  944.   Command15Disp = dispinterface;
  945.   {$EXTERNALSYM Command15Disp}
  946.   Connection15 = interface;
  947.   {$EXTERNALSYM Connection15}
  948.   Connection15Disp = dispinterface;
  949.   {$EXTERNALSYM Connection15Disp}
  950.   _Connection = interface;
  951.   {$EXTERNALSYM _Connection}
  952.   _ConnectionDisp = dispinterface;
  953.   {$EXTERNALSYM _ConnectionDisp}
  954.   Recordset15 = interface;
  955.   {$EXTERNALSYM Recordset15}
  956.   Recordset15Disp = dispinterface;
  957.   {$EXTERNALSYM Recordset15Disp}
  958.   Recordset20 = interface;
  959.   {$EXTERNALSYM Recordset20}
  960.   Recordset20Disp = dispinterface;
  961.   {$EXTERNALSYM Recordset20Disp}
  962.   _Recordset = interface;
  963.   {$EXTERNALSYM _Recordset}
  964.   _RecordsetDisp = dispinterface;
  965.   {$EXTERNALSYM _RecordsetDisp}
  966.   Fields15 = interface;
  967.   {$EXTERNALSYM Fields15}
  968.   Fields15Disp = dispinterface;
  969.   {$EXTERNALSYM Fields15Disp}
  970.   Fields = interface;
  971.   {$EXTERNALSYM Fields}
  972.   FieldsDisp = dispinterface;
  973.   {$EXTERNALSYM FieldsDisp}
  974.   Field = interface;
  975.   {$EXTERNALSYM Field}
  976.   FieldDisp = dispinterface;
  977.   {$EXTERNALSYM FieldDisp}
  978.   _Parameter = interface;
  979.   {$EXTERNALSYM _Parameter}
  980.   _ParameterDisp = dispinterface;
  981.   {$EXTERNALSYM _ParameterDisp}
  982.   Parameters = interface;
  983.   {$EXTERNALSYM Parameters}
  984.   ParametersDisp = dispinterface;
  985.   {$EXTERNALSYM ParametersDisp}
  986.   _Command = interface;
  987.   {$EXTERNALSYM _Command}
  988.   _CommandDisp = dispinterface;
  989.   {$EXTERNALSYM _CommandDisp}
  990.   ConnectionEventsVt = interface;
  991.   {$EXTERNALSYM ConnectionEventsVt}
  992.   RecordsetEventsVt = interface;
  993.   {$EXTERNALSYM RecordsetEventsVt}
  994.   ConnectionEvents = dispinterface;
  995.   {$EXTERNALSYM ConnectionEvents}
  996.   RecordsetEvents = dispinterface;
  997.   {$EXTERNALSYM RecordsetEvents}
  998.   ADOConnectionConstruction15 = interface;
  999.   {$EXTERNALSYM ADOConnectionConstruction15}
  1000.   ADOConnectionConstruction = interface;
  1001.   {$EXTERNALSYM ADOConnectionConstruction}
  1002.   ADOCommandConstruction = interface;
  1003.   {$EXTERNALSYM ADOCommandConstruction}
  1004.   ADORecordsetConstruction = interface;
  1005.   {$EXTERNALSYM ADORecordsetConstruction}
  1006.   Field15 = interface;
  1007.   {$EXTERNALSYM Field15}
  1008.   Field15Disp = dispinterface;
  1009.   {$EXTERNALSYM Field15Disp}
  1010.   IDataspace = interface;
  1011.   {$EXTERNALSYM IDataspace}
  1012.   IDataspaceDisp = dispinterface;
  1013.   {$EXTERNALSYM IDataspaceDisp}
  1014.  
  1015. // *********************************************************************//
  1016. // Declaration of CoClasses defined in Type Library                     //
  1017. // (NOTE: Here we map each CoClass to its Default Interface)            //
  1018. // *********************************************************************//
  1019.  
  1020.   Connection = _Connection;
  1021.   {$EXTERNALSYM Connection}
  1022.   Command = _Command;
  1023.   {$EXTERNALSYM Command}
  1024.   Recordset = _Recordset;
  1025.   {$EXTERNALSYM Recordset}
  1026.   Parameter = _Parameter;
  1027.   {$EXTERNALSYM Parameter}
  1028.   DataSpace = IDataspace;
  1029.   {$EXTERNALSYM DataSpace}
  1030.  
  1031.  
  1032. // *********************************************************************//
  1033. // Declaration of structures, unions and aliases.                       //
  1034. // *********************************************************************//
  1035.  
  1036.   SearchDirection = SearchDirectionEnum;
  1037.   {$EXTERNALSYM SearchDirection}
  1038.   
  1039. // *********************************************************************//
  1040. // Interface: _Collection
  1041. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1042. // GUID:      {00000512-0000-0010-8000-00AA006D2EA4}
  1043. // *********************************************************************//
  1044.   _Collection = interface(IDispatch)
  1045.     ['{00000512-0000-0010-8000-00AA006D2EA4}']
  1046.     function Get_Count: Integer; safecall;
  1047.     function _NewEnum: IUnknown; safecall;
  1048.     procedure Refresh; safecall;
  1049.     property Count: Integer read Get_Count;
  1050.   end;
  1051.  
  1052. // *********************************************************************//
  1053. // DispIntf:  _CollectionDisp
  1054. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1055. // GUID:      {00000512-0000-0010-8000-00AA006D2EA4}
  1056. // *********************************************************************//
  1057.   _CollectionDisp = dispinterface
  1058.     ['{00000512-0000-0010-8000-00AA006D2EA4}']
  1059.     property Count: Integer readonly dispid 1610743808;
  1060.     function _NewEnum: IUnknown; dispid -4;
  1061.     procedure Refresh; dispid 1610743810;
  1062.   end;
  1063.  
  1064. // *********************************************************************//
  1065. // Interface: _DynaCollection
  1066. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1067. // GUID:      {00000513-0000-0010-8000-00AA006D2EA4}
  1068. // *********************************************************************//
  1069.   _DynaCollection = interface(_Collection)
  1070.     ['{00000513-0000-0010-8000-00AA006D2EA4}']
  1071.     procedure Append(const Object_: IDispatch); safecall;
  1072.     procedure Delete(Index: OleVariant); safecall;
  1073.   end;
  1074.  
  1075. // *********************************************************************//
  1076. // DispIntf:  _DynaCollectionDisp
  1077. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1078. // GUID:      {00000513-0000-0010-8000-00AA006D2EA4}
  1079. // *********************************************************************//
  1080.   _DynaCollectionDisp = dispinterface
  1081.     ['{00000513-0000-0010-8000-00AA006D2EA4}']
  1082.     procedure Append(const Object_: IDispatch); dispid 1610809344;
  1083.     procedure Delete(Index: OleVariant); dispid 1610809345;
  1084.     property Count: Integer readonly dispid 1610743808;
  1085.     function _NewEnum: IUnknown; dispid -4;
  1086.     procedure Refresh; dispid 1610743810;
  1087.   end;
  1088.  
  1089. // *********************************************************************//
  1090. // Interface: _ADO
  1091. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1092. // GUID:      {00000534-0000-0010-8000-00AA006D2EA4}
  1093. // *********************************************************************//
  1094.   _ADO = interface(IDispatch)
  1095.     ['{00000534-0000-0010-8000-00AA006D2EA4}']
  1096.     function Get_Properties: Properties; safecall;
  1097.     property Properties: Properties read Get_Properties;
  1098.   end;
  1099.  
  1100. // *********************************************************************//
  1101. // DispIntf:  _ADODisp
  1102. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1103. // GUID:      {00000534-0000-0010-8000-00AA006D2EA4}
  1104. // *********************************************************************//
  1105.   _ADODisp = dispinterface
  1106.     ['{00000534-0000-0010-8000-00AA006D2EA4}']
  1107.     property Properties: Properties readonly dispid 500;
  1108.   end;
  1109.  
  1110. // *********************************************************************//
  1111. // Interface: Properties
  1112. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1113. // GUID:      {00000504-0000-0010-8000-00AA006D2EA4}
  1114. // *********************************************************************//
  1115.   Properties = interface(_Collection)
  1116.     ['{00000504-0000-0010-8000-00AA006D2EA4}']
  1117.     function Get_Item(Index: OleVariant): Property_; safecall;
  1118.     property Item[Index: OleVariant]: Property_ read Get_Item; default;
  1119.   end;
  1120.  
  1121. // *********************************************************************//
  1122. // DispIntf:  PropertiesDisp
  1123. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1124. // GUID:      {00000504-0000-0010-8000-00AA006D2EA4}
  1125. // *********************************************************************//
  1126.   PropertiesDisp = dispinterface
  1127.     ['{00000504-0000-0010-8000-00AA006D2EA4}']
  1128.     property Item[Index: OleVariant]: Property_ readonly dispid 0; default;
  1129.     property Count: Integer readonly dispid 1610743808;
  1130.     function _NewEnum: IUnknown; dispid -4;
  1131.     procedure Refresh; dispid 1610743810;
  1132.   end;
  1133.  
  1134. // *********************************************************************//
  1135. // Interface: Property_
  1136. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1137. // GUID:      {00000503-0000-0010-8000-00AA006D2EA4}
  1138. // *********************************************************************//
  1139.   Property_ = interface(IDispatch)
  1140.     ['{00000503-0000-0010-8000-00AA006D2EA4}']
  1141.     function Get_Value: OleVariant; safecall;
  1142.     procedure Set_Value(pval: OleVariant); safecall;
  1143.     function Get_Name: WideString; safecall;
  1144.     function Get_Type_: DataTypeEnum; safecall;
  1145.     function Get_Attributes: Integer; safecall;
  1146.     procedure Set_Attributes(plAttributes: Integer); safecall;
  1147.     property Value: OleVariant read Get_Value write Set_Value;
  1148.     property Name: WideString read Get_Name;
  1149.     property Type_: DataTypeEnum read Get_Type_;
  1150.     property Attributes: Integer read Get_Attributes write Set_Attributes;
  1151.   end;
  1152.  
  1153. // *********************************************************************//
  1154. // DispIntf:  Property_Disp
  1155. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1156. // GUID:      {00000503-0000-0010-8000-00AA006D2EA4}
  1157. // *********************************************************************//
  1158.   Property_Disp = dispinterface
  1159.     ['{00000503-0000-0010-8000-00AA006D2EA4}']
  1160.     property Value: OleVariant dispid 0;
  1161.     property Name: WideString readonly dispid 1610743810;
  1162.     property Type_: DataTypeEnum readonly dispid 1610743811;
  1163.     property Attributes: Integer dispid 1610743812;
  1164.   end;
  1165.  
  1166. // *********************************************************************//
  1167. // Interface: Error
  1168. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1169. // GUID:      {00000500-0000-0010-8000-00AA006D2EA4}
  1170. // *********************************************************************//
  1171.   Error = interface(IDispatch)
  1172.     ['{00000500-0000-0010-8000-00AA006D2EA4}']
  1173.     function Get_Number: Integer; safecall;
  1174.     function Get_Source: WideString; safecall;
  1175.     function Get_Description: WideString; safecall;
  1176.     function Get_HelpFile: WideString; safecall;
  1177.     function Get_HelpContext: Integer; safecall;
  1178.     function Get_SQLState: WideString; safecall;
  1179.     function Get_NativeError: Integer; safecall;
  1180.     property Number: Integer read Get_Number;
  1181.     property Source: WideString read Get_Source;
  1182.     property Description: WideString read Get_Description;
  1183.     property HelpFile: WideString read Get_HelpFile;
  1184.     property HelpContext: Integer read Get_HelpContext;
  1185.     property SQLState: WideString read Get_SQLState;
  1186.     property NativeError: Integer read Get_NativeError;
  1187.   end;
  1188.  
  1189. // *********************************************************************//
  1190. // DispIntf:  ErrorDisp
  1191. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1192. // GUID:      {00000500-0000-0010-8000-00AA006D2EA4}
  1193. // *********************************************************************//
  1194.   ErrorDisp = dispinterface
  1195.     ['{00000500-0000-0010-8000-00AA006D2EA4}']
  1196.     property Number: Integer readonly dispid 1610743808;
  1197.     property Source: WideString readonly dispid 1610743809;
  1198.     property Description: WideString readonly dispid 0;
  1199.     property HelpFile: WideString readonly dispid 1610743811;
  1200.     property HelpContext: Integer readonly dispid 1610743812;
  1201.     property SQLState: WideString readonly dispid 1610743813;
  1202.     property NativeError: Integer readonly dispid 1610743814;
  1203.   end;
  1204.  
  1205. // *********************************************************************//
  1206. // Interface: Errors
  1207. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1208. // GUID:      {00000501-0000-0010-8000-00AA006D2EA4}
  1209. // *********************************************************************//
  1210.   Errors = interface(_Collection)
  1211.     ['{00000501-0000-0010-8000-00AA006D2EA4}']
  1212.     function Get_Item(Index: OleVariant): Error; safecall;
  1213.     procedure Clear; safecall;
  1214.     property Item[Index: OleVariant]: Error read Get_Item; default;
  1215.   end;
  1216.  
  1217. // *********************************************************************//
  1218. // DispIntf:  ErrorsDisp
  1219. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1220. // GUID:      {00000501-0000-0010-8000-00AA006D2EA4}
  1221. // *********************************************************************//
  1222.   ErrorsDisp = dispinterface
  1223.     ['{00000501-0000-0010-8000-00AA006D2EA4}']
  1224.     property Item[Index: OleVariant]: Error readonly dispid 0; default;
  1225.     procedure Clear; dispid 1610809345;
  1226.     property Count: Integer readonly dispid 1610743808;
  1227.     function _NewEnum: IUnknown; dispid -4;
  1228.     procedure Refresh; dispid 1610743810;
  1229.   end;
  1230.  
  1231. // *********************************************************************//
  1232. // Interface: Command15
  1233. // Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
  1234. // GUID:      {00000508-0000-0010-8000-00AA006D2EA4}
  1235. // *********************************************************************//
  1236.   Command15 = interface(_ADO)
  1237.     ['{00000508-0000-0010-8000-00AA006D2EA4}']
  1238.     function Get_ActiveConnection: _Connection; safecall;
  1239.     procedure Set_ActiveConnection(const ppvObject: _Connection); safecall;
  1240.     procedure _Set_ActiveConnection(ppvObject: OleVariant); safecall;
  1241.     function Get_CommandText: WideString; safecall;
  1242.     procedure Set_CommandText(const pbstr: WideString); safecall;
  1243.     function Get_CommandTimeout: Integer; safecall;
  1244.     procedure Set_CommandTimeout(pl: Integer); safecall;
  1245.     function Get_Prepared: WordBool; safecall;
  1246.     procedure Set_Prepared(pfPrepared: WordBool); safecall;
  1247.     function Execute(out RecordsAffected: OleVariant; const Parameters: OleVariant; Options: Integer): _Recordset; safecall;
  1248.     function CreateParameter(const Name: WideString; Type_: DataTypeEnum; 
  1249.       Direction: ParameterDirectionEnum; Size: Integer; Value: OleVariant): _Parameter; safecall;
  1250.     function Get_Parameters: Parameters; safecall;
  1251.     procedure Set_CommandType(plCmdType: CommandTypeEnum); safecall;
  1252.     function Get_CommandType: CommandTypeEnum; safecall;
  1253.     function Get_Name: WideString; safecall;
  1254.     procedure Set_Name(const pbstrName: WideString); safecall;
  1255.     property CommandText: WideString read Get_CommandText write Set_CommandText;
  1256.     property CommandTimeout: Integer read Get_CommandTimeout write Set_CommandTimeout;
  1257.     property Prepared: WordBool read Get_Prepared write Set_Prepared;
  1258.     property Parameters: Parameters read Get_Parameters;
  1259.     property CommandType: CommandTypeEnum read Get_CommandType write Set_CommandType;
  1260.     property Name: WideString read Get_Name write Set_Name;
  1261.   end;
  1262.  
  1263. // *********************************************************************//
  1264. // DispIntf:  Command15Disp
  1265. // Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
  1266. // GUID:      {00000508-0000-0010-8000-00AA006D2EA4}
  1267. // *********************************************************************//
  1268.   Command15Disp = dispinterface
  1269.     ['{00000508-0000-0010-8000-00AA006D2EA4}']
  1270.     function ActiveConnection: _Connection; dispid 1610809344;
  1271.     property CommandText: WideString dispid 1610809347;
  1272.     property CommandTimeout: Integer dispid 1610809349;
  1273.     property Prepared: WordBool dispid 1610809351;
  1274.     function Execute(out RecordsAffected: OleVariant; const Parameters: OleVariant; Options: Integer): _Recordset; dispid 1610809353;
  1275.     function CreateParameter(const Name: WideString; Type_: DataTypeEnum; 
  1276.       Direction: ParameterDirectionEnum; Size: Integer; Value: OleVariant): _Parameter; dispid 1610809354;
  1277.     property Parameters: Parameters readonly dispid 0;
  1278.     property CommandType: CommandTypeEnum dispid 1610809356;
  1279.     property Name: WideString dispid 1610809358;
  1280.     property Properties: Properties readonly dispid 500;
  1281.   end;
  1282.  
  1283. // *********************************************************************//
  1284. // Interface: Connection15
  1285. // Flags:     (4432) Hidden Dual OleAutomation Dispatchable
  1286. // GUID:      {00000515-0000-0010-8000-00AA006D2EA4}
  1287. // *********************************************************************//
  1288.   Connection15 = interface(_ADO)
  1289.     ['{00000515-0000-0010-8000-00AA006D2EA4}']
  1290.     function Get_ConnectionString: WideString; safecall;
  1291.     procedure Set_ConnectionString(const pbstr: WideString); safecall;
  1292.     function Get_CommandTimeout: Integer; safecall;
  1293.     procedure Set_CommandTimeout(plTimeout: Integer); safecall;
  1294.     function Get_ConnectionTimeout: Integer; safecall;
  1295.     procedure Set_ConnectionTimeout(plTimeout: Integer); safecall;
  1296.     function Get_Version: WideString; safecall;
  1297.     procedure Close; safecall;
  1298.     function Execute(const CommandText: WideString; out RecordsAffected: OleVariant;
  1299.       Options: Integer): _Recordset; safecall;
  1300.     function BeginTrans: Integer; safecall;
  1301.     procedure CommitTrans; safecall;
  1302.     procedure RollbackTrans; safecall;
  1303.     procedure Open(const ConnectionString: WideString; const UserID: WideString;
  1304.       const Password: WideString; Options: Integer); safecall;
  1305.     function Get_Errors: Errors; safecall;
  1306.     function Get_DefaultDatabase: WideString; safecall;
  1307.     procedure Set_DefaultDatabase(const pbstr: WideString); safecall;
  1308.     function Get_IsolationLevel: IsolationLevelEnum; safecall;
  1309.     procedure Set_IsolationLevel(Level: IsolationLevelEnum); safecall;
  1310.     function Get_Attributes: Integer; safecall;
  1311.     procedure Set_Attributes(plAttr: Integer); safecall;
  1312.     function Get_CursorLocation: CursorLocationEnum; safecall;
  1313.     procedure Set_CursorLocation(plCursorLoc: CursorLocationEnum); safecall;
  1314.     function Get_Mode: ConnectModeEnum; safecall;
  1315.     procedure Set_Mode(plMode: ConnectModeEnum); safecall;
  1316.     function Get_Provider: WideString; safecall;
  1317.     procedure Set_Provider(const pbstr: WideString); safecall;
  1318.     function Get_State: Integer; safecall;
  1319.     function OpenSchema(Schema: SchemaEnum; Restrictions: OleVariant; SchemaID: OleVariant): _Recordset; safecall;
  1320.     property ConnectionString: WideString read Get_ConnectionString write Set_ConnectionString;
  1321.     property CommandTimeout: Integer read Get_CommandTimeout write Set_CommandTimeout;
  1322.     property ConnectionTimeout: Integer read Get_ConnectionTimeout write Set_ConnectionTimeout;
  1323.     property Version: WideString read Get_Version;
  1324.     property Errors: Errors read Get_Errors;
  1325.     property DefaultDatabase: WideString read Get_DefaultDatabase write Set_DefaultDatabase;
  1326.     property IsolationLevel: IsolationLevelEnum read Get_IsolationLevel write Set_IsolationLevel;
  1327.     property Attributes: Integer read Get_Attributes write Set_Attributes;
  1328.     property CursorLocation: CursorLocationEnum read Get_CursorLocation write Set_CursorLocation;
  1329.     property Mode: ConnectModeEnum read Get_Mode write Set_Mode;
  1330.     property Provider: WideString read Get_Provider write Set_Provider;
  1331.     property State: Integer read Get_State;
  1332.   end;
  1333.  
  1334. // *********************************************************************//
  1335. // DispIntf:  Connection15Disp
  1336. // Flags:     (4432) Hidden Dual OleAutomation Dispatchable
  1337. // GUID:      {00000515-0000-0010-8000-00AA006D2EA4}
  1338. // *********************************************************************//
  1339.   Connection15Disp = dispinterface
  1340.     ['{00000515-0000-0010-8000-00AA006D2EA4}']
  1341.     property ConnectionString: WideString dispid 0;
  1342.     property CommandTimeout: Integer dispid 2;
  1343.     property ConnectionTimeout: Integer dispid 3;
  1344.     property Version: WideString readonly dispid 4;
  1345.     procedure Close; dispid 5;
  1346.     function Execute(const CommandText: WideString; out RecordsAffected: OleVariant; 
  1347.       Options: Integer): _Recordset; dispid 6;
  1348.     function BeginTrans: Integer; dispid 7;
  1349.     procedure CommitTrans; dispid 8;
  1350.     procedure RollbackTrans; dispid 9;
  1351.     procedure Open(const ConnectionString: WideString; const UserID: WideString;
  1352.       const Password: WideString; Options: Integer); dispid 10;
  1353.     property Errors: Errors readonly dispid 11;
  1354.     property DefaultDatabase: WideString dispid 12;
  1355.     property IsolationLevel: IsolationLevelEnum dispid 13;
  1356.     property Attributes: Integer dispid 14;
  1357.     property CursorLocation: CursorLocationEnum dispid 15;
  1358.     property Mode: ConnectModeEnum dispid 16;
  1359.     property Provider: WideString dispid 17;
  1360.     property State: Integer readonly dispid 18;
  1361.     function OpenSchema(Schema: SchemaEnum; Restrictions: OleVariant; SchemaID: OleVariant): _Recordset; dispid 19;
  1362.     property Properties: Properties readonly dispid 500;
  1363.   end;
  1364.  
  1365. // *********************************************************************//
  1366. // Interface: _Connection
  1367. // Flags:     (4416) Dual OleAutomation Dispatchable
  1368. // GUID:      {00000550-0000-0010-8000-00AA006D2EA4}
  1369. // *********************************************************************//
  1370.   _Connection = interface(Connection15)
  1371.     ['{00000550-0000-0010-8000-00AA006D2EA4}']
  1372.     procedure Cancel; safecall;
  1373.   end;
  1374.  
  1375. // *********************************************************************//
  1376. // DispIntf:  _ConnectionDisp
  1377. // Flags:     (4416) Dual OleAutomation Dispatchable
  1378. // GUID:      {00000550-0000-0010-8000-00AA006D2EA4}
  1379. // *********************************************************************//
  1380.   _ConnectionDisp = dispinterface
  1381.     ['{00000550-0000-0010-8000-00AA006D2EA4}']
  1382.     procedure Cancel; dispid 21;
  1383.     property ConnectionString: WideString dispid 0;
  1384.     property CommandTimeout: Integer dispid 2;
  1385.     property ConnectionTimeout: Integer dispid 3;
  1386.     property Version: WideString readonly dispid 4;
  1387.     procedure Close; dispid 5;
  1388.     function Execute(const CommandText: WideString; out RecordsAffected: OleVariant;
  1389.       Options: Integer): _Recordset; dispid 6;
  1390.     function BeginTrans: Integer; dispid 7;
  1391.     procedure CommitTrans; dispid 8;
  1392.     procedure RollbackTrans; dispid 9;
  1393.     procedure Open(const ConnectionString: WideString; const UserID: WideString;
  1394.       const Password: WideString; Options: Integer); dispid 10;
  1395.     property Errors: Errors readonly dispid 11;
  1396.     property DefaultDatabase: WideString dispid 12;
  1397.     property IsolationLevel: IsolationLevelEnum dispid 13;
  1398.     property Attributes: Integer dispid 14;
  1399.     property CursorLocation: CursorLocationEnum dispid 15;
  1400.     property Mode: ConnectModeEnum dispid 16;
  1401.     property Provider: WideString dispid 17;
  1402.     property State: Integer readonly dispid 18;
  1403.     function OpenSchema(Schema: SchemaEnum; Restrictions: OleVariant; SchemaID: OleVariant): _Recordset; dispid 19;
  1404.     property Properties: Properties readonly dispid 500;
  1405.   end;
  1406.  
  1407. // *********************************************************************//
  1408. // Interface: Recordset15
  1409. // Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
  1410. // GUID:      {0000050E-0000-0010-8000-00AA006D2EA4}
  1411. // *********************************************************************//
  1412.   Recordset15 = interface(_ADO)
  1413.     ['{0000050E-0000-0010-8000-00AA006D2EA4}']
  1414.     function Get_AbsolutePosition: PositionEnum; safecall;
  1415.     procedure Set_AbsolutePosition(pl: PositionEnum); safecall;
  1416.     procedure Set_ActiveConnection(const pvar: IDispatch); safecall;
  1417.     procedure _Set_ActiveConnection(pvar: OleVariant); safecall;
  1418.     function Get_ActiveConnection: OleVariant; safecall;
  1419.     function Get_BOF: WordBool; safecall;
  1420.     function Get_Bookmark: OleVariant; safecall;
  1421.     procedure Set_Bookmark(pvBookmark: OleVariant); safecall;
  1422.     function Get_CacheSize: Integer; safecall;
  1423.     procedure Set_CacheSize(pl: Integer); safecall;
  1424.     function Get_CursorType: CursorTypeEnum; safecall;
  1425.     procedure Set_CursorType(plCursorType: CursorTypeEnum); safecall;
  1426.     function Get_EOF: WordBool; safecall;
  1427.     function Get_Fields: Fields; safecall;
  1428.     function Get_LockType: LockTypeEnum; safecall;
  1429.     procedure Set_LockType(plLockType: LockTypeEnum); safecall;
  1430.     function Get_MaxRecords: Integer; safecall;
  1431.     procedure Set_MaxRecords(plMaxRecords: Integer); safecall;
  1432.     function Get_RecordCount: Integer; safecall;
  1433.     procedure Set_Source(const pvSource: IDispatch); safecall;
  1434.     procedure _Set_Source(const pvSource: WideString); safecall;
  1435.     function Get_Source: OleVariant; safecall;
  1436.     procedure AddNew(FieldList: OleVariant; Values: OleVariant); safecall;
  1437.     procedure CancelUpdate; safecall;
  1438.     procedure Close; safecall;
  1439.     procedure Delete(AffectRecords: AffectEnum); safecall;
  1440.     function GetRows(Rows: Integer; Start: OleVariant; Fields: OleVariant): OleVariant; safecall;
  1441.     procedure Move(NumRecords: Integer; Start: OleVariant); safecall;
  1442.     procedure MoveNext; safecall;
  1443.     procedure MovePrevious; safecall;
  1444.     procedure MoveFirst; safecall;
  1445.     procedure MoveLast; safecall;
  1446.     procedure Open(Source: OleVariant; ActiveConnection: OleVariant; CursorType: CursorTypeEnum;
  1447.       LockType: LockTypeEnum; Options: Integer); safecall;
  1448.     procedure Requery(Options: Integer); safecall;
  1449.     procedure _xResync(AffectRecords: AffectEnum); safecall;
  1450.     procedure Update(Fields: OleVariant; Values: OleVariant); safecall;
  1451.     function Get_AbsolutePage: PositionEnum; safecall;
  1452.     procedure Set_AbsolutePage(pl: PositionEnum); safecall;
  1453.     function Get_EditMode: EditModeEnum; safecall;
  1454.     function Get_Filter: OleVariant; safecall;
  1455.     procedure Set_Filter(Criteria: OleVariant); safecall;
  1456.     function Get_PageCount: Integer; safecall;
  1457.     function Get_PageSize: Integer; safecall;
  1458.     procedure Set_PageSize(pl: Integer); safecall;
  1459.     function Get_Sort: WideString; safecall;
  1460.     procedure Set_Sort(const Criteria: WideString); safecall;
  1461.     function Get_Status: Integer; safecall;
  1462.     function Get_State: Integer; safecall;
  1463.     function _xClone: _Recordset; safecall;
  1464.     procedure UpdateBatch(AffectRecords: AffectEnum); safecall;
  1465.     procedure CancelBatch(AffectRecords: AffectEnum); safecall;
  1466.     function Get_CursorLocation: CursorLocationEnum; safecall;
  1467.     procedure Set_CursorLocation(plCursorLoc: CursorLocationEnum); safecall;
  1468.     function NextRecordset(out RecordsAffected: OleVariant): _Recordset; safecall;
  1469.     function Supports(CursorOptions: CursorOptionEnum): WordBool; safecall;
  1470.     function Get_Collect(Index: OleVariant): OleVariant; safecall;
  1471.     procedure Set_Collect(Index: OleVariant; pvar: OleVariant); safecall;
  1472.     function Get_MarshalOptions: MarshalOptionsEnum; safecall;
  1473.     procedure Set_MarshalOptions(peMarshal: MarshalOptionsEnum); safecall;
  1474.     procedure Find(const Criteria: WideString; SkipRecords: Integer;
  1475.       SearchDirection: SearchDirectionEnum; Start: OleVariant); safecall;
  1476.     property AbsolutePosition: PositionEnum read Get_AbsolutePosition write Set_AbsolutePosition;
  1477.     property BOF: WordBool read Get_BOF;
  1478.     property Bookmark: OleVariant read Get_Bookmark write Set_Bookmark;
  1479.     property CacheSize: Integer read Get_CacheSize write Set_CacheSize;
  1480.     property CursorType: CursorTypeEnum read Get_CursorType write Set_CursorType;
  1481.     property EOF: WordBool read Get_EOF;
  1482.     property Fields: Fields read Get_Fields;
  1483.     property LockType: LockTypeEnum read Get_LockType write Set_LockType;
  1484.     property MaxRecords: Integer read Get_MaxRecords write Set_MaxRecords;
  1485.     property RecordCount: Integer read Get_RecordCount;
  1486.     property AbsolutePage: PositionEnum read Get_AbsolutePage write Set_AbsolutePage;
  1487.     property EditMode: EditModeEnum read Get_EditMode;
  1488.     property Filter: OleVariant read Get_Filter write Set_Filter;
  1489.     property PageCount: Integer read Get_PageCount;
  1490.     property PageSize: Integer read Get_PageSize write Set_PageSize;
  1491.     property Sort: WideString read Get_Sort write Set_Sort;
  1492.     property Status: Integer read Get_Status;
  1493.     property State: Integer read Get_State;
  1494.     property CursorLocation: CursorLocationEnum read Get_CursorLocation write Set_CursorLocation;
  1495.     property Collect[Index: OleVariant]: OleVariant read Get_Collect write Set_Collect;
  1496.     property MarshalOptions: MarshalOptionsEnum read Get_MarshalOptions write Set_MarshalOptions;
  1497.   end;
  1498.  
  1499. // *********************************************************************//
  1500. // DispIntf:  Recordset15Disp
  1501. // Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
  1502. // GUID:      {0000050E-0000-0010-8000-00AA006D2EA4}
  1503. // *********************************************************************//
  1504.   Recordset15Disp = dispinterface
  1505.     ['{0000050E-0000-0010-8000-00AA006D2EA4}']
  1506.     property AbsolutePosition: PositionEnum dispid 1000;
  1507.     function ActiveConnection: IDispatch; dispid 1001;
  1508.     property BOF: WordBool readonly dispid 1002;
  1509.     property Bookmark: OleVariant dispid 1003;
  1510.     property CacheSize: Integer dispid 1004;
  1511.     property CursorType: CursorTypeEnum dispid 1005;
  1512.     property EOF: WordBool readonly dispid 1006;
  1513.     property Fields: Fields readonly dispid 0;
  1514.     property LockType: LockTypeEnum dispid 1008;
  1515.     property MaxRecords: Integer dispid 1009;
  1516.     property RecordCount: Integer readonly dispid 1010;
  1517.     function Source: IDispatch; dispid 1011;
  1518.     procedure AddNew(FieldList: OleVariant; Values: OleVariant); dispid 1012;
  1519.     procedure CancelUpdate; dispid 1013;
  1520.     procedure Close; dispid 1014;
  1521.     procedure Delete(AffectRecords: AffectEnum); dispid 1015;
  1522.     function GetRows(Rows: Integer; Start: OleVariant; Fields: OleVariant): OleVariant; dispid 1016;
  1523.     procedure Move(NumRecords: Integer; Start: OleVariant); dispid 1017;
  1524.     procedure MoveNext; dispid 1018;
  1525.     procedure MovePrevious; dispid 1019;
  1526.     procedure MoveFirst; dispid 1020;
  1527.     procedure MoveLast; dispid 1021;
  1528.     procedure Open(Source: OleVariant; ActiveConnection: OleVariant; CursorType: CursorTypeEnum;
  1529.       LockType: LockTypeEnum; Options: Integer); dispid 1022;
  1530.     procedure Requery(Options: Integer); dispid 1023;
  1531.     procedure _xResync(AffectRecords: AffectEnum); dispid 1610809378;
  1532.     procedure Update(Fields: OleVariant; Values: OleVariant); dispid 1025;
  1533.     property AbsolutePage: PositionEnum dispid 1047;
  1534.     property EditMode: EditModeEnum readonly dispid 1026;
  1535.     property Filter: OleVariant dispid 1030;
  1536.     property PageCount: Integer readonly dispid 1050;
  1537.     property PageSize: Integer dispid 1048;
  1538.     property Sort: WideString dispid 1031;
  1539.     property Status: Integer readonly dispid 1029;
  1540.     property State: Integer readonly dispid 1054;
  1541.     function _xClone: _Recordset; dispid 1610809392;
  1542.     procedure UpdateBatch(AffectRecords: AffectEnum); dispid 1035;
  1543.     procedure CancelBatch(AffectRecords: AffectEnum); dispid 1049;
  1544.     property CursorLocation: CursorLocationEnum dispid 1051;
  1545.     function NextRecordset(out RecordsAffected: OleVariant): _Recordset; dispid 1052;
  1546.     function Supports(CursorOptions: CursorOptionEnum): WordBool; dispid 1036;
  1547.     property Collect[Index: OleVariant]: OleVariant dispid -8;
  1548.     property MarshalOptions: MarshalOptionsEnum dispid 1053;
  1549.     procedure Find(const Criteria: WideString; SkipRecords: Integer;
  1550.       SearchDirection: SearchDirectionEnum; Start: OleVariant); dispid 1058;
  1551.     property Properties: Properties readonly dispid 500;
  1552.   end;
  1553.  
  1554. // *********************************************************************//
  1555. // Interface: Recordset20
  1556. // Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
  1557. // GUID:      {0000054F-0000-0010-8000-00AA006D2EA4}
  1558. // *********************************************************************//
  1559.   Recordset20 = interface(Recordset15)
  1560.     ['{0000054F-0000-0010-8000-00AA006D2EA4}']
  1561.     procedure Cancel; safecall;
  1562.     function Get_DataSource: IUnknown; safecall;
  1563.     procedure Set_DataSource(const ppunkDataSource: IUnknown); safecall;
  1564.     procedure Save(const FileName: WideString; PersistFormat: PersistFormatEnum); safecall;
  1565.     function Get_ActiveCommand: IDispatch; safecall;
  1566.     procedure Set_StayInSync(pbStayInSync: WordBool); safecall;
  1567.     function Get_StayInSync: WordBool; safecall;
  1568.     function GetString(StringFormat: StringFormatEnum; NumRows: Integer; 
  1569.       const ColumnDelimeter: WideString; const RowDelimeter: WideString;
  1570.       const NullExpr: WideString): WideString; safecall;
  1571.     function Get_DataMember: WideString; safecall;
  1572.     procedure Set_DataMember(const pbstrDataMember: WideString); safecall;
  1573.     function CompareBookmarks(Bookmark1: OleVariant; Bookmark2: OleVariant): CompareEnum; safecall;
  1574.     function Clone(LockType: LockTypeEnum): _Recordset; safecall;
  1575.     procedure Resync(AffectRecords: AffectEnum; ResyncValues: ResyncEnum); safecall;
  1576.     property DataSource: IUnknown read Get_DataSource write Set_DataSource;
  1577.     property ActiveCommand: IDispatch read Get_ActiveCommand;
  1578.     property StayInSync: WordBool read Get_StayInSync write Set_StayInSync;
  1579.     property DataMember: WideString read Get_DataMember write Set_DataMember;
  1580.   end;
  1581.  
  1582. // *********************************************************************//
  1583. // DispIntf:  Recordset20Disp
  1584. // Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
  1585. // GUID:      {0000054F-0000-0010-8000-00AA006D2EA4}
  1586. // *********************************************************************//
  1587.   Recordset20Disp = dispinterface
  1588.     ['{0000054F-0000-0010-8000-00AA006D2EA4}']
  1589.     procedure Cancel; dispid 1055;
  1590.     property DataSource: IUnknown dispid 1056;
  1591.     procedure Save(const FileName: WideString; PersistFormat: PersistFormatEnum); dispid 1057;
  1592.     property ActiveCommand: IDispatch readonly dispid 1061;
  1593.     property StayInSync: WordBool dispid 1063;
  1594.     function GetString(StringFormat: StringFormatEnum; NumRows: Integer;
  1595.       const ColumnDelimeter: WideString; const RowDelimeter: WideString;
  1596.       const NullExpr: WideString): WideString; dispid 1062;
  1597.     property DataMember: WideString dispid 1064;
  1598.     function CompareBookmarks(Bookmark1: OleVariant; Bookmark2: OleVariant): CompareEnum; dispid 1065;
  1599.     function Clone(LockType: LockTypeEnum): _Recordset; dispid 1034;
  1600.     procedure Resync(AffectRecords: AffectEnum; ResyncValues: ResyncEnum); dispid 1024;
  1601.     property AbsolutePosition: PositionEnum dispid 1000;
  1602.     function ActiveConnection: IDispatch; dispid 1001;
  1603.     property BOF: WordBool readonly dispid 1002;
  1604.     property Bookmark: OleVariant dispid 1003;
  1605.     property CacheSize: Integer dispid 1004;
  1606.     property CursorType: CursorTypeEnum dispid 1005;
  1607.     property EOF: WordBool readonly dispid 1006;
  1608.     property Fields: Fields readonly dispid 0;
  1609.     property LockType: LockTypeEnum dispid 1008;
  1610.     property MaxRecords: Integer dispid 1009;
  1611.     property RecordCount: Integer readonly dispid 1010;
  1612.     function Source: IDispatch; dispid 1011;
  1613.     procedure AddNew(FieldList: OleVariant; Values: OleVariant); dispid 1012;
  1614.     procedure CancelUpdate; dispid 1013;
  1615.     procedure Close; dispid 1014;
  1616.     procedure Delete(AffectRecords: AffectEnum); dispid 1015;
  1617.     function GetRows(Rows: Integer; Start: OleVariant; Fields: OleVariant): OleVariant; dispid 1016;
  1618.     procedure Move(NumRecords: Integer; Start: OleVariant); dispid 1017;
  1619.     procedure MoveNext; dispid 1018;
  1620.     procedure MovePrevious; dispid 1019;
  1621.     procedure MoveFirst; dispid 1020;
  1622.     procedure MoveLast; dispid 1021;
  1623.     procedure Open(Source: OleVariant; ActiveConnection: OleVariant; CursorType: CursorTypeEnum; 
  1624.       LockType: LockTypeEnum; Options: Integer); dispid 1022;
  1625.     procedure Requery(Options: Integer); dispid 1023;
  1626.     procedure _xResync(AffectRecords: AffectEnum); dispid 1610809378;
  1627.     procedure Update(Fields: OleVariant; Values: OleVariant); dispid 1025;
  1628.     property AbsolutePage: PositionEnum dispid 1047;
  1629.     property EditMode: EditModeEnum readonly dispid 1026;
  1630.     property Filter: OleVariant dispid 1030;
  1631.     property PageCount: Integer readonly dispid 1050;
  1632.     property PageSize: Integer dispid 1048;
  1633.     property Sort: WideString dispid 1031;
  1634.     property Status: Integer readonly dispid 1029;
  1635.     property State: Integer readonly dispid 1054;
  1636.     function _xClone: _Recordset; dispid 1610809392;
  1637.     procedure UpdateBatch(AffectRecords: AffectEnum); dispid 1035;
  1638.     procedure CancelBatch(AffectRecords: AffectEnum); dispid 1049;
  1639.     property CursorLocation: CursorLocationEnum dispid 1051;
  1640.     function NextRecordset(out RecordsAffected: OleVariant): _Recordset; dispid 1052;
  1641.     function Supports(CursorOptions: CursorOptionEnum): WordBool; dispid 1036;
  1642.     property Collect[Index: OleVariant]: OleVariant dispid -8;
  1643.     property MarshalOptions: MarshalOptionsEnum dispid 1053;
  1644.     procedure Find(const Criteria: WideString; SkipRecords: Integer; 
  1645.       SearchDirection: SearchDirectionEnum; Start: OleVariant); dispid 1058;
  1646.     property Properties: Properties readonly dispid 500;
  1647.   end;
  1648.  
  1649. // *********************************************************************//
  1650. // Interface: _Recordset
  1651. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1652. // GUID:      {00000555-0000-0010-8000-00AA006D2EA4}
  1653. // *********************************************************************//
  1654.   _Recordset = interface(Recordset20)
  1655.     ['{00000555-0000-0010-8000-00AA006D2EA4}']
  1656.     procedure Seek(KeyValues: OleVariant; SeekOption: SeekEnum); safecall;
  1657.     procedure Set_Index(const pbstrIndex: WideString); safecall;
  1658.     function Get_Index: WideString; safecall;
  1659.     property Index: WideString read Get_Index write Set_Index;
  1660.   end;
  1661.  
  1662. // *********************************************************************//
  1663. // DispIntf:  _RecordsetDisp
  1664. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1665. // GUID:      {00000555-0000-0010-8000-00AA006D2EA4}
  1666. // *********************************************************************//
  1667.   _RecordsetDisp = dispinterface
  1668.     ['{00000555-0000-0010-8000-00AA006D2EA4}']
  1669.     procedure Seek(KeyValues: OleVariant; SeekOption: SeekEnum); dispid 1066;
  1670.     property Index: WideString dispid 1067;
  1671.     procedure Cancel; dispid 1055;
  1672.     property DataSource: IUnknown dispid 1056;
  1673.     procedure Save(const FileName: WideString; PersistFormat: PersistFormatEnum); dispid 1057;
  1674.     property ActiveCommand: IDispatch readonly dispid 1061;
  1675.     property StayInSync: WordBool dispid 1063;
  1676.     function GetString(StringFormat: StringFormatEnum; NumRows: Integer; 
  1677.       const ColumnDelimeter: WideString; const RowDelimeter: WideString;
  1678.       const NullExpr: WideString): WideString; dispid 1062;
  1679.     property DataMember: WideString dispid 1064;
  1680.     function CompareBookmarks(Bookmark1: OleVariant; Bookmark2: OleVariant): CompareEnum; dispid 1065;
  1681.     function Clone(LockType: LockTypeEnum): _Recordset; dispid 1034;
  1682.     procedure Resync(AffectRecords: AffectEnum; ResyncValues: ResyncEnum); dispid 1024;
  1683.     property AbsolutePosition: PositionEnum dispid 1000;
  1684.     function ActiveConnection: IDispatch; dispid 1001;
  1685.     property BOF: WordBool readonly dispid 1002;
  1686.     property Bookmark: OleVariant dispid 1003;
  1687.     property CacheSize: Integer dispid 1004;
  1688.     property CursorType: CursorTypeEnum dispid 1005;
  1689.     property EOF: WordBool readonly dispid 1006;
  1690.     property Fields: Fields readonly dispid 0;
  1691.     property LockType: LockTypeEnum dispid 1008;
  1692.     property MaxRecords: Integer dispid 1009;
  1693.     property RecordCount: Integer readonly dispid 1010;
  1694.     function Source: IDispatch; dispid 1011;
  1695.     procedure AddNew(FieldList: OleVariant; Values: OleVariant); dispid 1012;
  1696.     procedure CancelUpdate; dispid 1013;
  1697.     procedure Close; dispid 1014;
  1698.     procedure Delete(AffectRecords: AffectEnum); dispid 1015;
  1699.     function GetRows(Rows: Integer; Start: OleVariant; Fields: OleVariant): OleVariant; dispid 1016;
  1700.     procedure Move(NumRecords: Integer; Start: OleVariant); dispid 1017;
  1701.     procedure MoveNext; dispid 1018;
  1702.     procedure MovePrevious; dispid 1019;
  1703.     procedure MoveFirst; dispid 1020;
  1704.     procedure MoveLast; dispid 1021;
  1705.     procedure Open(Source: OleVariant; ActiveConnection: OleVariant; CursorType: CursorTypeEnum;
  1706.       LockType: LockTypeEnum; Options: Integer); dispid 1022;
  1707.     procedure Requery(Options: Integer); dispid 1023;
  1708.     procedure _xResync(AffectRecords: AffectEnum); dispid 1610809378;
  1709.     procedure Update(Fields: OleVariant; Values: OleVariant); dispid 1025;
  1710.     property AbsolutePage: PositionEnum dispid 1047;
  1711.     property EditMode: EditModeEnum readonly dispid 1026;
  1712.     property Filter: OleVariant dispid 1030;
  1713.     property PageCount: Integer readonly dispid 1050;
  1714.     property PageSize: Integer dispid 1048;
  1715.     property Sort: WideString dispid 1031;
  1716.     property Status: Integer readonly dispid 1029;
  1717.     property State: Integer readonly dispid 1054;
  1718.     function _xClone: _Recordset; dispid 1610809392;
  1719.     procedure UpdateBatch(AffectRecords: AffectEnum); dispid 1035;
  1720.     procedure CancelBatch(AffectRecords: AffectEnum); dispid 1049;
  1721.     property CursorLocation: CursorLocationEnum dispid 1051;
  1722.     function NextRecordset(out RecordsAffected: OleVariant): _Recordset; dispid 1052;
  1723.     function Supports(CursorOptions: CursorOptionEnum): WordBool; dispid 1036;
  1724.     property Collect[Index: OleVariant]: OleVariant dispid -8;
  1725.     property MarshalOptions: MarshalOptionsEnum dispid 1053;
  1726.     procedure Find(const Criteria: WideString; SkipRecords: Integer;
  1727.       SearchDirection: SearchDirectionEnum; Start: OleVariant); dispid 1058;
  1728.     property Properties: Properties readonly dispid 500;
  1729.   end;
  1730.  
  1731. // *********************************************************************//
  1732. // Interface: Fields15
  1733. // Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
  1734. // GUID:      {00000506-0000-0010-8000-00AA006D2EA4}
  1735. // *********************************************************************//
  1736.   Fields15 = interface(_Collection)
  1737.     ['{00000506-0000-0010-8000-00AA006D2EA4}']
  1738.     function Get_Item(Index: OleVariant): Field; safecall;
  1739.     property Item[Index: OleVariant]: Field read Get_Item; default;
  1740.   end;
  1741.  
  1742. // *********************************************************************//
  1743. // DispIntf:  Fields15Disp
  1744. // Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
  1745. // GUID:      {00000506-0000-0010-8000-00AA006D2EA4}
  1746. // *********************************************************************//
  1747.   Fields15Disp = dispinterface
  1748.     ['{00000506-0000-0010-8000-00AA006D2EA4}']
  1749.     property Item[Index: OleVariant]: Field readonly dispid 0; default;
  1750.     property Count: Integer readonly dispid 1610743808;
  1751.     function _NewEnum: IUnknown; dispid -4;
  1752.     procedure Refresh; dispid 1610743810;
  1753.   end;
  1754.  
  1755. // *********************************************************************//
  1756. // Interface: Fields
  1757. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1758. // GUID:      {0000054D-0000-0010-8000-00AA006D2EA4}
  1759. // *********************************************************************//
  1760.   Fields = interface(Fields15)
  1761.     ['{0000054D-0000-0010-8000-00AA006D2EA4}']
  1762.     procedure Append(const Name: WideString; Type_: DataTypeEnum; DefinedSize: Integer;
  1763.       Attrib: FieldAttributeEnum); safecall;
  1764.     procedure Delete(Index: OleVariant); safecall;
  1765.   end;
  1766.  
  1767. // *********************************************************************//
  1768. // DispIntf:  FieldsDisp
  1769. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1770. // GUID:      {0000054D-0000-0010-8000-00AA006D2EA4}
  1771. // *********************************************************************//
  1772.   FieldsDisp = dispinterface
  1773.     ['{0000054D-0000-0010-8000-00AA006D2EA4}']
  1774.     procedure Append(const Name: WideString; Type_: DataTypeEnum;
  1775.       DefinedSize: Integer; Attrib: FieldAttributeEnum); dispid 1610874880;
  1776.     procedure Delete(Index: OleVariant); dispid 1610874881;
  1777.     property Item[Index: OleVariant]: Field readonly dispid 0; default;
  1778.     property Count: Integer readonly dispid 1610743808;
  1779.     function _NewEnum: IUnknown; dispid -4;
  1780.     procedure Refresh; dispid 1610743810;
  1781.   end;
  1782.  
  1783. // *********************************************************************//
  1784. // Interface: Field
  1785. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1786. // GUID:      {0000054C-0000-0010-8000-00AA006D2EA4}
  1787. // *********************************************************************//
  1788.   Field = interface(_ADO)
  1789.     ['{0000054C-0000-0010-8000-00AA006D2EA4}']
  1790.     function Get_ActualSize: Integer; safecall;
  1791.     function Get_Attributes: Integer; safecall;
  1792.     function Get_DefinedSize: Integer; safecall;
  1793.     function Get_Name: WideString; safecall;
  1794.     function Get_Type_: DataTypeEnum; safecall;
  1795.     function Get_Value: OleVariant; safecall;
  1796.     procedure Set_Value(pvar: OleVariant); safecall;
  1797.     function Get_Precision: Byte; safecall;
  1798.     function Get_NumericScale: Byte; safecall;
  1799.     procedure AppendChunk(Data: OleVariant); safecall;
  1800.     function GetChunk(Length: Integer): OleVariant; safecall;
  1801.     function Get_OriginalValue: OleVariant; safecall;
  1802.     function Get_UnderlyingValue: OleVariant; safecall;
  1803.     function Get_DataFormat: IUnknown; safecall;
  1804.     procedure Set_DataFormat(const ppiDF: IUnknown); safecall;
  1805.     procedure Set_Precision(pbPrecision: Byte); safecall;
  1806.     procedure Set_NumericScale(pbNumericScale: Byte); safecall;
  1807.     procedure Set_Type_(pDataType: DataTypeEnum); safecall;
  1808.     procedure Set_DefinedSize(pl: Integer); safecall;
  1809.     procedure Set_Attributes(pl: Integer); safecall;
  1810.     property ActualSize: Integer read Get_ActualSize;
  1811.     property Attributes: Integer read Get_Attributes write Set_Attributes;
  1812.     property DefinedSize: Integer read Get_DefinedSize write Set_DefinedSize;
  1813.     property Name: WideString read Get_Name;
  1814.     property Type_: DataTypeEnum read Get_Type_ write Set_Type_;
  1815.     property Value: OleVariant read Get_Value write Set_Value;
  1816.     property Precision: Byte read Get_Precision write Set_Precision;
  1817.     property NumericScale: Byte read Get_NumericScale write Set_NumericScale;
  1818.     property OriginalValue: OleVariant read Get_OriginalValue;
  1819.     property UnderlyingValue: OleVariant read Get_UnderlyingValue;
  1820.     property DataFormat: IUnknown read Get_DataFormat write Set_DataFormat;
  1821.   end;
  1822.  
  1823. // *********************************************************************//
  1824. // DispIntf:  FieldDisp
  1825. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1826. // GUID:      {0000054C-0000-0010-8000-00AA006D2EA4}
  1827. // *********************************************************************//
  1828.   FieldDisp = dispinterface
  1829.     ['{0000054C-0000-0010-8000-00AA006D2EA4}']
  1830.     property ActualSize: Integer readonly dispid 1109;
  1831.     property Attributes: Integer dispid 1036;
  1832.     property DefinedSize: Integer dispid 1103;
  1833.     property Name: WideString readonly dispid 1100;
  1834.     property Type_: DataTypeEnum dispid 1102;
  1835.     property Value: OleVariant dispid 0;
  1836.     property Precision: Byte dispid 1610809351;
  1837.     property NumericScale: Byte dispid 1610809352;
  1838.     procedure AppendChunk(Data: OleVariant); dispid 1107;
  1839.     function GetChunk(Length: Integer): OleVariant; dispid 1108;
  1840.     property OriginalValue: OleVariant readonly dispid 1104;
  1841.     property UnderlyingValue: OleVariant readonly dispid 1105;
  1842.     property DataFormat: IUnknown dispid 1610809357;
  1843.     property Properties: Properties readonly dispid 500;
  1844.   end;
  1845.  
  1846. // *********************************************************************//
  1847. // Interface: Field15
  1848. // Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
  1849. // GUID:      {00000505-0000-0010-8000-00AA006D2EA4}
  1850. // *********************************************************************//
  1851.   Field15 = interface(_ADO)
  1852.     ['{00000505-0000-0010-8000-00AA006D2EA4}']
  1853.     function Get_ActualSize: Integer; safecall;
  1854.     function Get_Attributes: Integer; safecall;
  1855.     function Get_DefinedSize: Integer; safecall;
  1856.     function Get_Name: WideString; safecall;
  1857.     function Get_Type_: DataTypeEnum; safecall;
  1858.     function Get_Value: OleVariant; safecall;
  1859.     procedure Set_Value(pvar: OleVariant); safecall;
  1860.     function Get_Precision: Byte; safecall;
  1861.     function Get_NumericScale: Byte; safecall;
  1862.     procedure AppendChunk(Data: OleVariant); safecall;
  1863.     function GetChunk(Length: Integer): OleVariant; safecall;
  1864.     function Get_OriginalValue: OleVariant; safecall;
  1865.     function Get_UnderlyingValue: OleVariant; safecall;
  1866.     property ActualSize: Integer read Get_ActualSize;
  1867.     property Attributes: Integer read Get_Attributes;
  1868.     property DefinedSize: Integer read Get_DefinedSize;
  1869.     property Name: WideString read Get_Name;
  1870.     property Type_: DataTypeEnum read Get_Type_;
  1871.     property Value: OleVariant read Get_Value write Set_Value;
  1872.     property Precision: Byte read Get_Precision;
  1873.     property NumericScale: Byte read Get_NumericScale;
  1874.     property OriginalValue: OleVariant read Get_OriginalValue;
  1875.     property UnderlyingValue: OleVariant read Get_UnderlyingValue;
  1876.   end;
  1877.  
  1878. // *********************************************************************//
  1879. // DispIntf:  Field15Disp
  1880. // Flags:     (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
  1881. // GUID:      {00000505-0000-0010-8000-00AA006D2EA4}
  1882. // *********************************************************************//
  1883.   Field15Disp = dispinterface
  1884.     ['{00000505-0000-0010-8000-00AA006D2EA4}']
  1885.     property ActualSize: Integer readonly dispid 1109;
  1886.     property Attributes: Integer readonly dispid 1036;
  1887.     property DefinedSize: Integer readonly dispid 1103;
  1888.     property Name: WideString readonly dispid 1100;
  1889.     property Type_: DataTypeEnum readonly dispid 1102;
  1890.     property Value: OleVariant dispid 0;
  1891.     property Precision: Byte readonly dispid 1610809351;
  1892.     property NumericScale: Byte readonly dispid 1610809352;
  1893.     procedure AppendChunk(Data: OleVariant); dispid 1107;
  1894.     function GetChunk(Length: Integer): OleVariant; dispid 1108;
  1895.     property OriginalValue: OleVariant readonly dispid 1104;
  1896.     property UnderlyingValue: OleVariant readonly dispid 1105;
  1897.     property Properties: Properties readonly dispid 500;
  1898.   end;
  1899.  
  1900. // *********************************************************************//
  1901. // Interface: _Parameter
  1902. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1903. // GUID:      {0000050C-0000-0010-8000-00AA006D2EA4}
  1904. // *********************************************************************//
  1905.   _Parameter = interface(_ADO)
  1906.     ['{0000050C-0000-0010-8000-00AA006D2EA4}']
  1907.     function Get_Name: WideString; safecall;
  1908.     procedure Set_Name(const pbstr: WideString); safecall;
  1909.     function Get_Value: OleVariant; safecall;
  1910.     procedure Set_Value(pvar: OleVariant); safecall;
  1911.     function Get_Type_: DataTypeEnum; safecall;
  1912.     procedure Set_Type_(psDataType: DataTypeEnum); safecall;
  1913.     procedure Set_Direction(plParmDirection: ParameterDirectionEnum); safecall;
  1914.     function Get_Direction: ParameterDirectionEnum; safecall;
  1915.     procedure Set_Precision(pbPrecision: Byte); safecall;
  1916.     function Get_Precision: Byte; safecall;
  1917.     procedure Set_NumericScale(pbScale: Byte); safecall;
  1918.     function Get_NumericScale: Byte; safecall;
  1919.     procedure Set_Size(pl: Integer); safecall;
  1920.     function Get_Size: Integer; safecall;
  1921.     procedure AppendChunk(Val: OleVariant); safecall;
  1922.     function Get_Attributes: Integer; safecall;
  1923.     procedure Set_Attributes(plParmAttribs: Integer); safecall;
  1924.     property Name: WideString read Get_Name write Set_Name;
  1925.     property Value: OleVariant read Get_Value write Set_Value;
  1926.     property Type_: DataTypeEnum read Get_Type_ write Set_Type_;
  1927.     property Direction: ParameterDirectionEnum read Get_Direction write Set_Direction;
  1928.     property Precision: Byte read Get_Precision write Set_Precision;
  1929.     property NumericScale: Byte read Get_NumericScale write Set_NumericScale;
  1930.     property Size: Integer read Get_Size write Set_Size;
  1931.     property Attributes: Integer read Get_Attributes write Set_Attributes;
  1932.   end;
  1933.  
  1934. // *********************************************************************//
  1935. // DispIntf:  _ParameterDisp
  1936. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1937. // GUID:      {0000050C-0000-0010-8000-00AA006D2EA4}
  1938. // *********************************************************************//
  1939.   _ParameterDisp = dispinterface
  1940.     ['{0000050C-0000-0010-8000-00AA006D2EA4}']
  1941.     property Name: WideString dispid 1610809344;
  1942.     property Value: OleVariant dispid 0;
  1943.     property Type_: DataTypeEnum dispid 1610809348;
  1944.     property Direction: ParameterDirectionEnum dispid 1610809350;
  1945.     property Precision: Byte dispid 1610809352;
  1946.     property NumericScale: Byte dispid 1610809354;
  1947.     property Size: Integer dispid 1610809356;
  1948.     procedure AppendChunk(Val: OleVariant); dispid 1610809358;
  1949.     property Attributes: Integer dispid 1610809359;
  1950.     property Properties: Properties readonly dispid 500;
  1951.   end;
  1952.  
  1953. // *********************************************************************//
  1954. // Interface: Parameters
  1955. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1956. // GUID:      {0000050D-0000-0010-8000-00AA006D2EA4}
  1957. // *********************************************************************//
  1958.   Parameters = interface(_DynaCollection)
  1959.     ['{0000050D-0000-0010-8000-00AA006D2EA4}']
  1960.     function Get_Item(Index: OleVariant): _Parameter; safecall;
  1961.     property Item[Index: OleVariant]: _Parameter read Get_Item; default;
  1962.   end;
  1963.  
  1964. // *********************************************************************//
  1965. // DispIntf:  ParametersDisp
  1966. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1967. // GUID:      {0000050D-0000-0010-8000-00AA006D2EA4}
  1968. // *********************************************************************//
  1969.   ParametersDisp = dispinterface
  1970.     ['{0000050D-0000-0010-8000-00AA006D2EA4}']
  1971.     property Item[Index: OleVariant]: _Parameter readonly dispid 0; default;
  1972.     procedure Append(const Object_: IDispatch); dispid 1610809344;
  1973.     procedure Delete(Index: OleVariant); dispid 1610809345;
  1974.     property Count: Integer readonly dispid 1610743808;
  1975.     function _NewEnum: IUnknown; dispid -4;
  1976.     procedure Refresh; dispid 1610743810;
  1977.   end;
  1978.  
  1979. // *********************************************************************//
  1980. // Interface: _Command
  1981. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1982. // GUID:      {0000054E-0000-0010-8000-00AA006D2EA4}
  1983. // *********************************************************************//
  1984.   _Command = interface(Command15)
  1985.     ['{0000054E-0000-0010-8000-00AA006D2EA4}']
  1986.     function Get_State: Integer; safecall;
  1987.     procedure Cancel; safecall;
  1988.     property State: Integer read Get_State;
  1989.   end;
  1990.  
  1991. // *********************************************************************//
  1992. // DispIntf:  _CommandDisp
  1993. // Flags:     (4544) Dual NonExtensible OleAutomation Dispatchable
  1994. // GUID:      {0000054E-0000-0010-8000-00AA006D2EA4}
  1995. // *********************************************************************//
  1996.   _CommandDisp = dispinterface
  1997.     ['{0000054E-0000-0010-8000-00AA006D2EA4}']
  1998.     property State: Integer readonly dispid 1610874880;
  1999.     procedure Cancel; dispid 1610874881;
  2000.     function ActiveConnection: _Connection; dispid 1610809344;
  2001.     property CommandText: WideString dispid 1610809347;
  2002.     property CommandTimeout: Integer dispid 1610809349;
  2003.     property Prepared: WordBool dispid 1610809351;
  2004.     function Execute(out RecordsAffected: OleVariant; const Parameters: OleVariant; Options: Integer): _Recordset; dispid 1610809353;
  2005.     function CreateParameter(const Name: WideString; Type_: DataTypeEnum;
  2006.       Direction: ParameterDirectionEnum; Size: Integer; Value: OleVariant): _Parameter; dispid 1610809354;
  2007.     property Parameters: Parameters readonly dispid 0;
  2008.     property CommandType: CommandTypeEnum dispid 1610809356;
  2009.     property Name: WideString dispid 1610809358;
  2010.     property Properties: Properties readonly dispid 500;
  2011.   end;
  2012.  
  2013. // *********************************************************************//
  2014. // Interface: ConnectionEventsVt
  2015. // Flags:     (16) Hidden
  2016. // GUID:      {00000402-0000-0010-8000-00AA006D2EA4}
  2017. // *********************************************************************//
  2018.   ConnectionEventsVt = interface(IUnknown)
  2019.     ['{00000402-0000-0010-8000-00AA006D2EA4}']
  2020.     procedure InfoMessage(const pError: Error; var adStatus: EventStatusEnum;
  2021.       const pConnection: _Connection); safecall;
  2022.     procedure BeginTransComplete(TransactionLevel: Integer; const pError: Error;
  2023.       var adStatus: EventStatusEnum; const pConnection: _Connection); safecall;
  2024.     procedure CommitTransComplete(const pError: Error; var adStatus: EventStatusEnum;
  2025.       const pConnection: _Connection); safecall;
  2026.     procedure RollbackTransComplete(const pError: Error; var adStatus: EventStatusEnum;
  2027.       const pConnection: _Connection); safecall;
  2028.     procedure WillExecute(var Source: WideString; var CursorType: CursorTypeEnum;
  2029.       var LockType: LockTypeEnum; var Options: Integer;
  2030.       var adStatus: EventStatusEnum; const pCommand: _Command;
  2031.       const pRecordset: _Recordset; const pConnection: _Connection); safecall;
  2032.     procedure ExecuteComplete(RecordsAffected: Integer; const pError: Error;
  2033.       var adStatus: EventStatusEnum; const pCommand: _Command;
  2034.       const pRecordset: _Recordset; const pConnection: _Connection); safecall;
  2035.     procedure WillConnect(var ConnectionString: WideString; var UserID: WideString;
  2036.       var Password: WideString; var Options: Integer;
  2037.       var adStatus: EventStatusEnum; const pConnection: _Connection); safecall;
  2038.     procedure ConnectComplete(const pError: Error; var adStatus: EventStatusEnum;
  2039.       const pConnection: _Connection); safecall;
  2040.     procedure Disconnect(var adStatus: EventStatusEnum; const pConnection: _Connection); safecall;
  2041.   end;
  2042.  
  2043. // *********************************************************************//
  2044. // Interface: RecordsetEventsVt
  2045. // Flags:     (16) Hidden
  2046. // GUID:      {00000403-0000-0010-8000-00AA006D2EA4}
  2047. // *********************************************************************//
  2048.   RecordsetEventsVt = interface(IUnknown)
  2049.     ['{00000403-0000-0010-8000-00AA006D2EA4}']
  2050.     procedure WillChangeField(cFields: Integer; Fields: OleVariant;
  2051.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); safecall;
  2052.     procedure FieldChangeComplete(cFields: Integer; Fields: OleVariant;
  2053.       const pError: Error; var adStatus: EventStatusEnum;
  2054.       const pRecordset: _Recordset); safecall;
  2055.     procedure WillChangeRecord(adReason: EventReasonEnum;
  2056.       cRecords: Integer; var adStatus: EventStatusEnum;
  2057.       const pRecordset: _Recordset); safecall;
  2058.     procedure RecordChangeComplete(adReason: EventReasonEnum;
  2059.       cRecords: Integer; const pError: Error;
  2060.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); safecall;
  2061.     procedure WillChangeRecordset(adReason: EventReasonEnum;
  2062.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); safecall;
  2063.     procedure RecordsetChangeComplete(adReason: EventReasonEnum;
  2064.       const pError: Error; var adStatus: EventStatusEnum;
  2065.       const pRecordset: _Recordset); safecall;
  2066.     procedure WillMove(adReason: EventReasonEnum;
  2067.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); safecall;
  2068.     procedure MoveComplete(adReason: EventReasonEnum; const pError: Error;
  2069.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); safecall;
  2070.     procedure EndOfRecordset(var fMoreData: WordBool;
  2071.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); safecall;
  2072.     procedure FetchProgress(Progress, MaxProgress: Integer;
  2073.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); safecall;
  2074.     procedure FetchComplete(const pError: Error;
  2075.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); safecall;
  2076.   end;
  2077.  
  2078. // *********************************************************************//
  2079. // DispIntf:  ConnectionEvents
  2080. // Flags:     (4096) Dispatchable
  2081. // GUID:      {00000400-0000-0010-8000-00AA006D2EA4}
  2082. // *********************************************************************//
  2083.   ConnectionEvents = dispinterface
  2084.     ['{00000400-0000-0010-8000-00AA006D2EA4}']
  2085.     procedure InfoMessage(const pError: Error; var adStatus: EventStatusEnum;
  2086.       const pConnection: _Connection); dispid 0;
  2087.     procedure BeginTransComplete(TransactionLevel: Integer; const pError: Error;
  2088.       var adStatus: EventStatusEnum; const pConnection: _Connection); dispid 1;
  2089.     procedure CommitTransComplete(const pError: Error; var adStatus: EventStatusEnum;
  2090.       const pConnection: _Connection); dispid 3;
  2091.     procedure RollbackTransComplete(const pError: Error; var adStatus: EventStatusEnum;
  2092.       const pConnection: _Connection); dispid 2;
  2093.     procedure WillExecute(var Source: WideString; var CursorType: CursorTypeEnum;
  2094.       var LockType: LockTypeEnum; var Options: Integer;
  2095.       var adStatus: EventStatusEnum; const pCommand: _Command;
  2096.       const pRecordset: _Recordset; const pConnection: _Connection); dispid 4;
  2097.     procedure ExecuteComplete(RecordsAffected: Integer; const pError: Error;
  2098.       var adStatus: EventStatusEnum; const pCommand: _Command;
  2099.       const pRecordset: _Recordset; const pConnection: _Connection); dispid 5;
  2100.     procedure WillConnect(var ConnectionString: WideString; var UserID: WideString;
  2101.       var Password: WideString; var Options: Integer;
  2102.       var adStatus: EventStatusEnum; const pConnection: _Connection); dispid 6;
  2103.     procedure ConnectComplete(const pError: Error; var adStatus: EventStatusEnum;
  2104.       const pConnection: _Connection); dispid 7;
  2105.     procedure Disconnect(var adStatus: EventStatusEnum; const pConnection: _Connection); dispid 8;
  2106.   end;
  2107.  
  2108. // *********************************************************************//
  2109. // DispIntf:  RecordsetEvents
  2110. // Flags:     (4096) Dispatchable
  2111. // GUID:      {00000266-0000-0010-8000-00AA006D2EA4}
  2112. // *********************************************************************//
  2113.   RecordsetEvents = dispinterface
  2114.     ['{00000266-0000-0010-8000-00AA006D2EA4}']
  2115.     procedure WillChangeField(cFields: Integer; Fields: OleVariant; var adStatus: EventStatusEnum; 
  2116.       const pRecordset: _Recordset); dispid 9;
  2117.     procedure FieldChangeComplete(cFields: Integer; Fields: OleVariant; const pError: Error;
  2118.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); dispid 10;
  2119.     procedure WillChangeRecord(adReason: EventReasonEnum; cRecords: Integer;
  2120.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); dispid 11;
  2121.     procedure RecordChangeComplete(adReason: EventReasonEnum; cRecords: Integer;
  2122.       const pError: Error; var adStatus: EventStatusEnum;
  2123.       const pRecordset: _Recordset); dispid 12;
  2124.     procedure WillChangeRecordset(adReason: EventReasonEnum; var adStatus: EventStatusEnum;
  2125.       const pRecordset: _Recordset); dispid 13;
  2126.     procedure RecordsetChangeComplete(adReason: EventReasonEnum; const pError: Error;
  2127.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); dispid 14;
  2128.     procedure WillMove(adReason: EventReasonEnum; var adStatus: EventStatusEnum;
  2129.       const pRecordset: _Recordset); dispid 15;
  2130.     procedure MoveComplete(adReason: EventReasonEnum; const pError: Error;
  2131.       var adStatus: EventStatusEnum; const pRecordset: _Recordset); dispid 16;
  2132.     procedure EndOfRecordset(var fMoreData: WordBool; var adStatus: EventStatusEnum;
  2133.       const pRecordset: _Recordset); dispid 17;
  2134.     procedure FetchProgress(Progress: Integer; MaxProgress: Integer; var adStatus: EventStatusEnum;
  2135.       const pRecordset: _Recordset); dispid 18;
  2136.     procedure FetchComplete(const pError: Error; var adStatus: EventStatusEnum;
  2137.       const pRecordset: _Recordset); dispid 19;
  2138.   end;
  2139.  
  2140. // *********************************************************************//
  2141. // Interface: ADOConnectionConstruction15
  2142. // Flags:     (512) Restricted
  2143. // GUID:      {00000516-0000-0010-8000-00AA006D2EA4}
  2144. // *********************************************************************//
  2145.   ADOConnectionConstruction15 = interface(IUnknown)
  2146.     ['{00000516-0000-0010-8000-00AA006D2EA4}']
  2147.     function Get_DSO: IUnknown; safecall;
  2148.     function Get_Session: IUnknown; safecall;
  2149.     procedure WrapDSOandSession(const pDSO: IUnknown; const pSession: IUnknown); safecall;
  2150.   end;
  2151.  
  2152. // *********************************************************************//
  2153. // Interface: ADOConnectionConstruction
  2154. // Flags:     (512) Restricted
  2155. // GUID:      {00000551-0000-0010-8000-00AA006D2EA4}
  2156. // *********************************************************************//
  2157.   ADOConnectionConstruction = interface(ADOConnectionConstruction15)
  2158.     ['{00000551-0000-0010-8000-00AA006D2EA4}']
  2159.   end;
  2160.  
  2161. // *********************************************************************//
  2162. // Interface: ADOCommandConstruction
  2163. // Flags:     (512) Restricted
  2164. // GUID:      {00000517-0000-0010-8000-00AA006D2EA4}
  2165. // *********************************************************************//
  2166.   ADOCommandConstruction = interface(IUnknown)
  2167.     ['{00000517-0000-0010-8000-00AA006D2EA4}']
  2168.     function Get_OLEDBCommand: IUnknown; safecall;
  2169.     procedure Set_OLEDBCommand(const ppOLEDBCommand: IUnknown); safecall;
  2170.     property OLEDBCommand: IUnknown read Get_OLEDBCommand write Set_OLEDBCommand;
  2171.   end;
  2172.  
  2173. // *********************************************************************//
  2174. // Interface: ADORecordsetConstruction
  2175. // Flags:     (4608) Restricted Dispatchable
  2176. // GUID:      {00000283-0000-0010-8000-00AA006D2EA4}
  2177. // *********************************************************************//
  2178.   ADORecordsetConstruction = interface(IDispatch)
  2179.     ['{00000283-0000-0010-8000-00AA006D2EA4}']
  2180.     function Get_Rowset: IUnknown; safecall;
  2181.     procedure Set_Rowset(const ppRowset: IUnknown); safecall;
  2182.     function Get_Chapter: Integer; safecall;
  2183.     procedure Set_Chapter(plChapter: Integer); safecall;
  2184.     function Get_RowPosition: IUnknown; safecall;
  2185.     procedure Set_RowPosition(const ppRowPos: IUnknown); safecall;
  2186.     property Rowset: IUnknown read Get_Rowset write Set_Rowset;
  2187.     property Chapter: Integer read Get_Chapter write Set_Chapter;
  2188.     property RowPosition: IUnknown read Get_RowPosition write Set_RowPosition;
  2189.   end;
  2190.  
  2191. // *********************************************************************//
  2192. // Interface: IDataspace
  2193. // Flags:     (4432) Hidden Dual OleAutomation Dispatchable
  2194. // GUID:      {BD96C556-65A3-11D0-983A-00C04FC29E34}
  2195. // *********************************************************************//
  2196.   IDataspace = interface(IDispatch)
  2197.     ['{BD96C556-65A3-11D0-983A-00C04FC29E34}']
  2198.     function  CreateObject(const bstrProgid: WideString;
  2199.       const bstrConnection: WideString): OleVariant; safecall;
  2200.     function  Get_InternetTimeout: Integer; safecall;
  2201.     procedure Set_InternetTimeout(plInetTimeout: Integer); safecall;
  2202.     property InternetTimeout: Integer read Get_InternetTimeout write Set_InternetTimeout;
  2203.   end;
  2204.  
  2205. // *********************************************************************//
  2206. // DispIntf:  IDataspaceDisp
  2207. // Flags:     (4432) Hidden Dual OleAutomation Dispatchable
  2208. // GUID:      {BD96C556-65A3-11D0-983A-00C04FC29E34}
  2209. // *********************************************************************//
  2210.   IDataspaceDisp = dispinterface
  2211.     ['{BD96C556-65A3-11D0-983A-00C04FC29E34}']
  2212.     function  CreateObject(const bstrProgid: WideString;
  2213.       const bstrConnection: WideString): OleVariant; dispid 1;
  2214.     property InternetTimeout: Integer dispid 222;
  2215.   end;
  2216.  
  2217. { CoClass Creators }
  2218.  
  2219.   CoConnection = class
  2220.     class function Create: _Connection;
  2221.     class function CreateRemote(const MachineName: string): _Connection;
  2222.   end;
  2223.  
  2224.   CoCommand = class
  2225.     class function Create: _Command;
  2226.     class function CreateRemote(const MachineName: string): _Command;
  2227.   end;
  2228.  
  2229.   CoRecordset = class
  2230.     class function Create: _Recordset;
  2231.     class function CreateRemote(const MachineName: string): _Recordset;
  2232.   end;
  2233.  
  2234.   CoParameter = class
  2235.     class function Create: _Parameter;
  2236.     class function CreateRemote(const MachineName: string): _Parameter;
  2237.   end;
  2238.  
  2239. implementation
  2240.  
  2241. uses ComObj;
  2242.  
  2243. { CoClass Creators }
  2244.  
  2245. class function CoConnection.Create: _Connection;
  2246. begin
  2247.   Result := CreateComObject(CLASS_Connection) as _Connection;
  2248. end;
  2249.  
  2250. class function CoConnection.CreateRemote(const MachineName: string): _Connection;
  2251. begin
  2252.   Result := CreateRemoteComObject(MachineName, CLASS_Connection) as _Connection;
  2253. end;
  2254.  
  2255. class function CoCommand.Create: _Command;
  2256. begin
  2257.   Result := CreateComObject(CLASS_Command) as _Command;
  2258. end;
  2259.  
  2260. class function CoCommand.CreateRemote(const MachineName: string): _Command;
  2261. begin
  2262.   Result := CreateRemoteComObject(MachineName, CLASS_Command) as _Command;
  2263. end;
  2264.  
  2265. class function CoRecordset.Create: _Recordset;
  2266. begin
  2267.   Result := CreateComObject(CLASS_Recordset) as _Recordset;
  2268. end;
  2269.  
  2270. class function CoRecordset.CreateRemote(const MachineName: string): _Recordset;
  2271. begin
  2272.   Result := CreateRemoteComObject(MachineName, CLASS_Recordset) as _Recordset;
  2273. end;
  2274.  
  2275. class function CoParameter.Create: _Parameter;
  2276. begin
  2277.   Result := CreateComObject(CLASS_Parameter) as _Parameter;
  2278. end;
  2279.  
  2280. class function CoParameter.CreateRemote(const MachineName: string): _Parameter;
  2281. begin
  2282.   Result := CreateRemoteComObject(MachineName, CLASS_Parameter) as _Parameter;
  2283. end;
  2284.  
  2285. end.
  2286.