home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 February / Chip_2003-02_cd1.bin / zkuste / delphi / kompon / d34567 / KADAO77.ZIP / DAO36Api.Pas < prev    next >
Pascal/Delphi Source File  |  2001-09-04  |  81KB  |  1,867 lines

  1. unit DAO36Api;
  2.  
  3. { This file contains pascal declarations imported from a type library.
  4.   This file will be written during each import or refresh of the type
  5.   library editor.  Changes to this file will be discarded during the
  6.   refresh process. }
  7.  
  8. { Microsoft DAO 3.6 Object Library }
  9. { Version 5.0 }
  10.  
  11. { Conversion log:
  12.   Warning: 'Property' is a reserved word. Property changed to Property_
  13.   Warning: LanguageConstants: Modules are not supported.
  14.   Warning: 'Object' is a reserved word. Parameter 'Object' in _DynaCollection.Append changed to 'Object_'
  15.   Warning: 'Type' is a reserved word. Property_.Type changed to Type_
  16.   Warning: 'Inherited' is a reserved word. Property_.Inherited changed to Inherited_
  17.   Warning: 'Type' is a reserved word. Workspace.Type changed to Type_
  18.   Warning: 'Type' is a reserved word. Parameter 'Type' in Database._30_OpenRecordset changed to 'Type_'
  19.   Warning: 'Type' is a reserved word. Parameter 'Type' in Database.CreateProperty changed to 'Type_'
  20.   Warning: 'Type' is a reserved word. Parameter 'Type' in Database.OpenRecordset changed to 'Type_'
  21.   Warning: 'Type' is a reserved word. Parameter 'Type' in _TableDef.OpenRecordset changed to 'Type_'
  22.   Warning: 'Type' is a reserved word. Parameter 'Type' in _TableDef.CreateField changed to 'Type_'
  23.   Warning: 'Type' is a reserved word. Parameter 'Type' in _TableDef.CreateProperty changed to 'Type_'
  24.   Warning: 'Type' is a reserved word. _Field.Type changed to Type_
  25.   Warning: 'Type' is a reserved word. Parameter 'Type' in _Field.CreateProperty changed to 'Type_'
  26.   Warning: 'Type' is a reserved word. Parameter 'Type' in _Index.CreateField changed to 'Type_'
  27.   Warning: 'Type' is a reserved word. Parameter 'Type' in _Index.CreateProperty changed to 'Type_'
  28.   Warning: 'Type' is a reserved word. Recordset.Type changed to Type_
  29.   Warning: 'Type' is a reserved word. Parameter 'Type' in Recordset.OpenRecordset changed to 'Type_'
  30.   Warning: 'Type' is a reserved word. _QueryDef.Type changed to Type_
  31.   Warning: 'Type' is a reserved word. Parameter 'Type' in _QueryDef._30_OpenRecordset changed to 'Type_'
  32.   Warning: 'Type' is a reserved word. Parameter 'Type' in _QueryDef._30__OpenRecordset changed to 'Type_'
  33.   Warning: 'Type' is a reserved word. Parameter 'Type' in _QueryDef.CreateProperty changed to 'Type_'
  34.   Warning: 'Type' is a reserved word. Parameter 'Type' in _QueryDef.OpenRecordset changed to 'Type_'
  35.   Warning: 'Type' is a reserved word. Parameter 'Type' in _QueryDef._OpenRecordset changed to 'Type_'
  36.   Warning: 'Type' is a reserved word. Parameter.Type changed to Type_
  37.   Warning: 'Type' is a reserved word. Parameter 'Type' in Connection.OpenRecordset changed to 'Type_'
  38.   Warning: 'Type' is a reserved word. Parameter 'Type' in _Relation.CreateField changed to 'Type_'
  39.   Warning: 'Type' is a reserved word. Parameter 'Type' in Document.CreateProperty changed to 'Type_'
  40.   Warning: Recordset.Bookmark return parameter of type PSafeArray was written as OleVariant
  41.   Warning: Recordset.LastModified return parameter of type PSafeArray was written as OleVariant
  42.   Warning: Recordset.CacheStart return parameter of type PSafeArray was written as OleVariant
  43.  }
  44.  
  45. interface
  46.  
  47. uses Windows, ActiveX, Classes, Graphics, OleCtrls, StdVCL;
  48.  
  49. const
  50.   LIBID_DAO: TGUID = '{00025E01-0000-0000-C000-000000000046}';
  51.  
  52. const
  53.  
  54. { RecordsetTypeEnum }
  55.  
  56.   dbOpenTable = 1;
  57.   dbOpenDynaset = 2;
  58.   dbOpenSnapshot = 4;
  59.   dbOpenForwardOnly = 8;
  60.   dbOpenDynamic = 16;
  61.  
  62. { EditModeEnum }
  63.  
  64.   dbEditNone = 0;
  65.   dbEditInProgress = 1;
  66.   dbEditAdd = 2;
  67.  
  68. { RecordsetOptionEnum }
  69.  
  70.   dbDenyWrite = 1;
  71.   dbDenyRead = 2;
  72.   dbReadOnly = 4;
  73.   dbAppendOnly = 8;
  74.   dbInconsistent = 16;
  75.   dbConsistent = 32;
  76.   dbSQLPassThrough = 64;
  77.   dbFailOnError = 128;
  78.   dbForwardOnly = 256;
  79.   dbSeeChanges = 512;
  80.   dbRunAsync = 1024;
  81.   dbExecDirect = 2048;
  82.  
  83. { LockTypeEnum }
  84.  
  85.   dbPessimistic = 2;
  86.   dbOptimistic = 3;
  87.   dbOptimisticValue = 1;
  88.   dbOptimisticBatch = 5;
  89.  
  90. { UpdateCriteriaEnum }
  91.  
  92.   dbCriteriaKey = 1;
  93.   dbCriteriaModValues = 2;
  94.   dbCriteriaAllCols = 4;
  95.   dbCriteriaTimestamp = 8;
  96.   dbCriteriaDeleteInsert = 16;
  97.   dbCriteriaUpdate = 32;
  98.  
  99. { FieldAttributeEnum }
  100.  
  101.   dbFixedField = 1;
  102.   dbVariableField = 2;
  103.   dbAutoIncrField = 16;
  104.   dbUpdatableField = 32;
  105.   dbSystemField = 8192;
  106.   dbHyperlinkField = 32768;
  107.   dbDescending = 1;
  108.  
  109. { DataTypeEnum }
  110.  
  111.   dbBoolean = 1;
  112.   dbByte = 2;
  113.   dbInteger = 3;
  114.   dbLong = 4;
  115.   dbCurrency = 5;
  116.   dbSingle = 6;
  117.   dbDouble = 7;
  118.   dbDate = 8;
  119.   dbBinary = 9;
  120.   dbText = 10;
  121.   dbLongBinary = 11;
  122.   dbMemo = 12;
  123.   dbGUID = 15;
  124.   dbBigInt = 16;
  125.   dbVarBinary = 17;
  126.   dbChar = 18;
  127.   dbNumeric = 19;
  128.   dbDecimal = 20;
  129.   dbFloat = 21;
  130.   dbTime = 22;
  131.   dbTimeStamp = 23;
  132.  
  133. { RelationAttributeEnum }
  134.  
  135.   dbRelationUnique = 1;
  136.   dbRelationDontEnforce = 2;
  137.   dbRelationInherited = 4;
  138.   dbRelationUpdateCascade = 256;
  139.   dbRelationDeleteCascade = 4096;
  140.   dbRelationLeft = 16777216;
  141.   dbRelationRight = 33554432;
  142.  
  143. { TableDefAttributeEnum }
  144.  
  145.   dbAttachExclusive = 65536;
  146.   dbAttachSavePWD = 131072;
  147.   dbSystemObject = -2147483646;
  148.   dbAttachedTable = 1073741824;
  149.   dbAttachedODBC = 536870912;
  150.   dbHiddenObject = 1;
  151.  
  152. { QueryDefTypeEnum }
  153.  
  154.   dbQSelect = 0;
  155.   dbQProcedure = 224;
  156.   dbQAction = 240;
  157.   dbQCrosstab = 16;
  158.   dbQDelete = 32;
  159.   dbQUpdate = 48;
  160.   dbQAppend = 64;
  161.   dbQMakeTable = 80;
  162.   dbQDDL = 96;
  163.   dbQSQLPassThrough = 112;
  164.   dbQSetOperation = 128;
  165.   dbQSPTBulk = 144;
  166.   dbQCompound = 160;
  167.  
  168. { QueryDefStateEnum }
  169.  
  170.   dbQPrepare = 1;
  171.   dbQUnprepare = 2;
  172.  
  173. { DatabaseTypeEnum }
  174.  
  175.   dbVersion10 = 1;
  176.   dbEncrypt = 2;
  177.   dbDecrypt = 4;
  178.   dbVersion11 = 8;
  179.   dbVersion20 = 16;
  180.   dbVersion30 = 32;
  181.   dbVersion40 = 64;
  182.  
  183. { CollatingOrderEnum }
  184.  
  185.   dbSortNeutral = 1024;
  186.   dbSortArabic = 1025;
  187.   dbSortCyrillic = 1049;
  188.   dbSortCzech = 1029;
  189.   dbSortDutch = 1043;
  190.   dbSortGeneral = 1033;
  191.   dbSortGreek = 1032;
  192.   dbSortHebrew = 1037;
  193.   dbSortHungarian = 1038;
  194.   dbSortIcelandic = 1039;
  195.   dbSortNorwdan = 1030;
  196.   dbSortPDXIntl = 1033;
  197.   dbSortPDXNor = 1030;
  198.   dbSortPDXSwe = 1053;
  199.   dbSortPolish = 1045;
  200.   dbSortSpanish = 1034;
  201.   dbSortSwedFin = 1053;
  202.   dbSortTurkish = 1055;
  203.   dbSortJapanese = 1041;
  204.   dbSortChineseSimplified = 2052;
  205.   dbSortChineseTraditional = 1028;
  206.   dbSortKorean = 1042;
  207.   dbSortThai = 1054;
  208.   dbSortSlovenian = 1060;
  209.   dbSortUndefined = -1;
  210.  
  211. { IdleEnum }
  212.  
  213.   dbFreeLocks = 1;
  214.   dbRefreshCache = 8;
  215.  
  216. { PermissionEnum }
  217.  
  218.   dbSecNoAccess = 0;
  219.   dbSecFullAccess = 1048575;
  220.   dbSecDelete = 65536;
  221.   dbSecReadSec = 131072;
  222.   dbSecWriteSec = 262144;
  223.   dbSecWriteOwner = 524288;
  224.   dbSecDBCreate = 1;
  225.   dbSecDBOpen = 2;
  226.   dbSecDBExclusive = 4;
  227.   dbSecDBAdmin = 8;
  228.   dbSecCreate = 1;
  229.   dbSecReadDef = 4;
  230.   dbSecWriteDef = 65548;
  231.   dbSecRetrieveData = 20;
  232.   dbSecInsertData = 32;
  233.   dbSecReplaceData = 64;
  234.   dbSecDeleteData = 128;
  235.  
  236. { SynchronizeTypeEnum }
  237.  
  238.   dbRepExportChanges = 1;
  239.   dbRepImportChanges = 2;
  240.   dbRepImpExpChanges = 4;
  241.   dbRepSyncInternet = 16;
  242.  
  243. { ReplicaTypeEnum }
  244.  
  245.   dbRepMakeReadOnly = 2;
  246.   dbRepMakePartial = 1;
  247.  
  248. { WorkspaceTypeEnum }
  249.  
  250.   dbUseODBC = 1;
  251.   dbUseJet = 2;
  252.  
  253. { CursorDriverEnum }
  254.  
  255.   dbUseDefaultCursor = -1;
  256.   dbUseODBCCursor = 1;
  257.   dbUseServerCursor = 2;
  258.   dbUseClientBatchCursor = 3;
  259.   dbUseNoCursor = 4;
  260.  
  261. { DriverPromptEnum }
  262.  
  263.   dbDriverPrompt = 2;
  264.   dbDriverNoPrompt = 1;
  265.   dbDriverComplete = 0;
  266.   dbDriverCompleteRequired = 3;
  267.  
  268. { SetOptionEnum }
  269.  
  270.   dbPageTimeout = 6;
  271.   dbLockRetry = 57;
  272.   dbMaxBufferSize = 8;
  273.   dbUserCommitSync = 58;
  274.   dbImplicitCommitSync = 59;
  275.   dbExclusiveAsyncDelay = 60;
  276.   dbSharedAsyncDelay = 61;
  277.   dbMaxLocksPerFile = 62;
  278.   dbLockDelay = 63;
  279.   dbRecycleLVs = 65;
  280.   dbFlushTransactionTimeout = 66;
  281.  
  282. { ParameterDirectionEnum }
  283.  
  284.   dbParamInput = 1;
  285.   dbParamOutput = 2;
  286.   dbParamInputOutput = 3;
  287.   dbParamReturnValue = 4;
  288.  
  289. { UpdateTypeEnum }
  290.  
  291.   dbUpdateBatch = 4;
  292.   dbUpdateRegular = 1;
  293.   dbUpdateCurrentRecord = 2;
  294.  
  295. { RecordStatusEnum }
  296.  
  297.   dbRecordUnmodified = 0;
  298.   dbRecordModified = 1;
  299.   dbRecordNew = 2;
  300.   dbRecordDeleted = 3;
  301.   dbRecordDBDeleted = 4;
  302.  
  303. { CommitTransOptionsEnum }
  304.  
  305.   dbForceOSFlush = 1;
  306.  
  307. { _DAOSuppHelp }
  308.  
  309.   LogMessages = 0;
  310.   KeepLocal = 0;
  311.   Replicable = 0;
  312.   ReplicableBool = 0;
  313.   V1xNullBehavior = 0;
  314.  
  315. const
  316.  
  317. { Component class GUIDs }
  318.   Class_TableDef: TGUID = '{00000103-0000-0010-8000-00AA006D2EA4}';
  319.   Class_Field: TGUID = '{00000104-0000-0010-8000-00AA006D2EA4}';
  320.   Class_Index: TGUID = '{00000105-0000-0010-8000-00AA006D2EA4}';
  321.   Class_QueryDef: TGUID = '{00000108-0000-0010-8000-00AA006D2EA4}';
  322.   Class_Relation: TGUID = '{00000109-0000-0010-8000-00AA006D2EA4}';
  323.   Class_User: TGUID = '{00000107-0000-0010-8000-00AA006D2EA4}';
  324.   Class_Group: TGUID = '{00000106-0000-0010-8000-00AA006D2EA4}';
  325.   Class_DBEngine: TGUID = '{00000100-0000-0010-8000-00AA006D2EA4}';
  326.   Class_PrivDBEngine: TGUID = '{00000101-0000-0010-8000-00AA006D2EA4}';
  327.  
  328. type
  329.  
  330. { Forward declarations: Interfaces }
  331.   _DBEngine = interface;
  332.   _DBEngineDisp = dispinterface;
  333.   _DAO = interface;
  334.   _DAODisp = dispinterface;
  335.   Properties = interface;
  336.   PropertiesDisp = dispinterface;
  337.   _DynaCollection = interface;
  338.   _DynaCollectionDisp = dispinterface;
  339.   _Collection = interface;
  340.   _CollectionDisp = dispinterface;
  341.   Property_ = interface;
  342.   Property_Disp = dispinterface;
  343.   Workspaces = interface;
  344.   WorkspacesDisp = dispinterface;
  345.   Workspace = interface;
  346.   WorkspaceDisp = dispinterface;
  347.   Databases = interface;
  348.   DatabasesDisp = dispinterface;
  349.   Database = interface;
  350.   DatabaseDisp = dispinterface;
  351.   TableDefs = interface;
  352.   TableDefsDisp = dispinterface;
  353.   _TableDef = interface;
  354.   _TableDefDisp = dispinterface;
  355.   Fields = interface;
  356.   FieldsDisp = dispinterface;
  357.   _Field = interface;
  358.   _FieldDisp = dispinterface;
  359.   Indexes = interface;
  360.   IndexesDisp = dispinterface;
  361.   _Index = interface;
  362.   _IndexDisp = dispinterface;
  363.   Recordset = interface;
  364.   RecordsetDisp = dispinterface;
  365.   _QueryDef = interface;
  366.   _QueryDefDisp = dispinterface;
  367.   Parameters = interface;
  368.   ParametersDisp = dispinterface;
  369.   Parameter = interface;
  370.   ParameterDisp = dispinterface;
  371.   Connection = interface;
  372.   ConnectionDisp = dispinterface;
  373.   QueryDefs = interface;
  374.   QueryDefsDisp = dispinterface;
  375.   Recordsets = interface;
  376.   RecordsetsDisp = dispinterface;
  377.   Relations = interface;
  378.   RelationsDisp = dispinterface;
  379.   _Relation = interface;
  380.   _RelationDisp = dispinterface;
  381.   Containers = interface;
  382.   ContainersDisp = dispinterface;
  383.   Container = interface;
  384.   ContainerDisp = dispinterface;
  385.   Documents = interface;
  386.   DocumentsDisp = dispinterface;
  387.   Document = interface;
  388.   DocumentDisp = dispinterface;
  389.   Users = interface;
  390.   UsersDisp = dispinterface;
  391.   _User = interface;
  392.   _UserDisp = dispinterface;
  393.   Groups = interface;
  394.   GroupsDisp = dispinterface;
  395.   _Group = interface;
  396.   _GroupDisp = dispinterface;
  397.   Connections = interface;
  398.   ConnectionsDisp = dispinterface;
  399.   Errors = interface;
  400.   ErrorsDisp = dispinterface;
  401.   Error = interface;
  402.   ErrorDisp = dispinterface;
  403.   IndexFields = interface;
  404.   IndexFieldsDisp = dispinterface;
  405.  
  406. { Forward declarations: CoClasses }
  407.   TableDef = _TableDef;
  408.   Field = _Field;
  409.   Index = _Index;
  410.   QueryDef = _QueryDef;
  411.   Relation = _Relation;
  412.   User = _User;
  413.   Group = _Group;
  414.   DBEngine = _DBEngine;
  415.   PrivDBEngine = _DBEngine;
  416.  
  417. { Forward declarations: Enums }
  418.   RecordsetTypeEnum = TOleEnum;
  419.   EditModeEnum = TOleEnum;
  420.   RecordsetOptionEnum = TOleEnum;
  421.   LockTypeEnum = TOleEnum;
  422.   UpdateCriteriaEnum = TOleEnum;
  423.   FieldAttributeEnum = TOleEnum;
  424.   DataTypeEnum = TOleEnum;
  425.   RelationAttributeEnum = TOleEnum;
  426.   TableDefAttributeEnum = TOleEnum;
  427.   QueryDefTypeEnum = TOleEnum;
  428.   QueryDefStateEnum = TOleEnum;
  429.   DatabaseTypeEnum = TOleEnum;
  430.   CollatingOrderEnum = TOleEnum;
  431.   IdleEnum = TOleEnum;
  432.   PermissionEnum = TOleEnum;
  433.   SynchronizeTypeEnum = TOleEnum;
  434.   ReplicaTypeEnum = TOleEnum;
  435.   WorkspaceTypeEnum = TOleEnum;
  436.   CursorDriverEnum = TOleEnum;
  437.   DriverPromptEnum = TOleEnum;
  438.   SetOptionEnum = TOleEnum;
  439.   ParameterDirectionEnum = TOleEnum;
  440.   UpdateTypeEnum = TOleEnum;
  441.   RecordStatusEnum = TOleEnum;
  442.   CommitTransOptionsEnum = TOleEnum;
  443.   _DAOSuppHelp = TOleEnum;
  444.  
  445.   _DAO = interface(IDispatch)
  446.     ['{0000000A-0000-0010-8000-00AA006D2EA4}']
  447.     function Get_Properties: Properties; safecall;
  448.     property Properties: Properties read Get_Properties;
  449.   end;
  450.  
  451. { DispInterface declaration for Dual Interface _DAO }
  452.  
  453.   _DAODisp = dispinterface
  454.     ['{0000000A-0000-0010-8000-00AA006D2EA4}']
  455.     property Properties: Properties readonly dispid 10;
  456.   end;
  457.  
  458.   _DBEngine = interface(_DAO)
  459.     ['{00000021-0000-0010-8000-00AA006D2EA4}']
  460.     function Get_Version: WideString; safecall;
  461.     function Get_IniPath: WideString; safecall;
  462.     procedure Set_IniPath(const Value: WideString); safecall;
  463.     procedure Set_DefaultUser(const Value: WideString); safecall;
  464.     procedure Set_DefaultPassword(const Value: WideString); safecall;
  465.     function Get_LoginTimeout: Smallint; safecall;
  466.     procedure Set_LoginTimeout(Value: Smallint); safecall;
  467.     function Get_Workspaces: Workspaces; safecall;
  468.     function Get_Errors: Errors; safecall;
  469.     procedure Idle(Action: OleVariant); safecall;
  470.     procedure CompactDatabase(const SrcName, DstName: WideString; DstLocale, Options, SrcLocale: OleVariant); safecall;
  471.     procedure RepairDatabase(const Name: WideString); safecall;
  472.     procedure RegisterDatabase(const Dsn, Driver: WideString; Silent: WordBool; const Attributes: WideString); safecall;
  473.     function _30_CreateWorkspace(const Name, UserName, Password: WideString): Workspace; safecall;
  474.     function OpenDatabase(const Name: WideString; Options, ReadOnly, Connect: OleVariant): Database; safecall;
  475.     function CreateDatabase(const Name, Locale: WideString; Option: OleVariant): Database; safecall;
  476.     procedure FreeLocks; safecall;
  477.     procedure BeginTrans; safecall;
  478.     procedure CommitTrans(Option: Integer); safecall;
  479.     procedure Rollback; safecall;
  480.     procedure SetDefaultWorkspace(const Name, Password: WideString); safecall;
  481.     procedure SetDataAccessOption(Option: Smallint; Value: OleVariant); safecall;
  482.     function ISAMStats(StatNum: Integer; Reset: OleVariant): Integer; safecall;
  483.     function Get_SystemDB: WideString; safecall;
  484.     procedure Set_SystemDB(const Value: WideString); safecall;
  485.     function CreateWorkspace(const Name, UserName, Password: WideString; UseType: OleVariant): Workspace; safecall;
  486.     function OpenConnection(const Name: WideString; Options, ReadOnly, Connect: OleVariant): Connection; safecall;
  487.     function Get_DefaultType: Integer; safecall;
  488.     procedure Set_DefaultType(Value: Integer); safecall;
  489.     procedure SetOption(Option: Integer; Value: OleVariant); safecall;
  490.     property Version: WideString read Get_Version;
  491.     property IniPath: WideString read Get_IniPath write Set_IniPath;
  492.     property DefaultUser: WideString write Set_DefaultUser;
  493.     property DefaultPassword: WideString write Set_DefaultPassword;
  494.     property LoginTimeout: Smallint read Get_LoginTimeout write Set_LoginTimeout;
  495.     property Workspaces: Workspaces read Get_Workspaces;
  496.     property Errors: Errors read Get_Errors;
  497.     property SystemDB: WideString read Get_SystemDB write Set_SystemDB;
  498.     property DefaultType: Integer read Get_DefaultType write Set_DefaultType;
  499.   end;
  500.  
  501. { DispInterface declaration for Dual Interface _DBEngine }
  502.  
  503.   _DBEngineDisp = dispinterface
  504.     ['{00000021-0000-0010-8000-00AA006D2EA4}']
  505.     property Version: WideString readonly dispid 1610809344;
  506.     property IniPath: WideString dispid 1610809345;
  507.     property DefaultUser: WideString writeonly dispid 1610809347;
  508.     property DefaultPassword: WideString writeonly dispid 1610809348;
  509.     property LoginTimeout: Smallint dispid 1610809349;
  510.     property Workspaces: Workspaces readonly dispid 0;
  511.     property Errors: Errors readonly dispid 1610809352;
  512.     procedure Idle(Action: OleVariant); dispid 1610809353;
  513.     procedure CompactDatabase(const SrcName, DstName: WideString; DstLocale, Options, SrcLocale: OleVariant); dispid 1610809354;
  514.     procedure RepairDatabase(const Name: WideString); dispid 1610809355;
  515.     procedure RegisterDatabase(const Dsn, Driver: WideString; Silent: WordBool; const Attributes: WideString); dispid 1610809356;
  516.     function OpenDatabase(const Name: WideString; Options, ReadOnly, Connect: OleVariant): Database; dispid 1610809358;
  517.     function CreateDatabase(const Name, Locale: WideString; Option: OleVariant): Database; dispid 1610809359;
  518.     procedure BeginTrans; dispid 1610809361;
  519.     procedure CommitTrans(Option: Integer); dispid 1610809362;
  520.     procedure Rollback; dispid 1610809363;
  521.     function ISAMStats(StatNum: Integer; Reset: OleVariant): Integer; dispid 1610809366;
  522.     property SystemDB: WideString dispid 1610809367;
  523.     function CreateWorkspace(const Name, UserName, Password: WideString; UseType: OleVariant): Workspace; dispid 1610809369;
  524.     function OpenConnection(const Name: WideString; Options, ReadOnly, Connect: OleVariant): Connection; dispid 1610809370;
  525.     property DefaultType: Integer dispid 1610809371;
  526.     procedure SetOption(Option: Integer; Value: OleVariant); dispid 1610809373;
  527.   end;
  528.  
  529.   _Collection = interface(IDispatch)
  530.     ['{000000A0-0000-0010-8000-00AA006D2EA4}']
  531.     function Get_Count: Smallint; safecall;
  532.     function _NewEnum: IUnknown; safecall;
  533.     procedure Refresh; safecall;
  534.     property Count: Smallint read Get_Count;
  535.   end;
  536.  
  537. { DispInterface declaration for Dual Interface _Collection }
  538.  
  539.   _CollectionDisp = dispinterface
  540.     ['{000000A0-0000-0010-8000-00AA006D2EA4}']
  541.     property Count: Smallint readonly dispid 1610743808;
  542.     procedure Refresh; dispid 1610743810;
  543.   end;
  544.  
  545.   _DynaCollection = interface(_Collection)
  546.     ['{000000A2-0000-0010-8000-00AA006D2EA4}']
  547.     procedure Append(Object_: IDispatch); safecall;
  548.     procedure Delete(const Name: WideString); safecall;
  549.   end;
  550.  
  551. { DispInterface declaration for Dual Interface _DynaCollection }
  552.  
  553.   _DynaCollectionDisp = dispinterface
  554.     ['{000000A2-0000-0010-8000-00AA006D2EA4}']
  555.     procedure Append(Object_: IDispatch); dispid 1610809344;
  556.     procedure Delete(const Name: WideString); dispid 1610809345;
  557.   end;
  558.  
  559.   Properties = interface(_DynaCollection)
  560.     ['{00000029-0000-0010-8000-00AA006D2EA4}']
  561.     function Get_Item(Item: OleVariant): Property_; safecall;
  562.     property Item[Item: OleVariant]: Property_ read Get_Item; default;
  563.   end;
  564.  
  565. { DispInterface declaration for Dual Interface Properties }
  566.  
  567.   PropertiesDisp = dispinterface
  568.     ['{00000029-0000-0010-8000-00AA006D2EA4}']
  569.     property Item[Item: OleVariant]: Property_ readonly dispid 0; default;
  570.   end;
  571.  
  572.   Property_ = interface(_DAO)
  573.     ['{00000027-0000-0010-8000-00AA006D2EA4}']
  574.     function Get_Value: OleVariant; safecall;
  575.     procedure Set_Value(Value: OleVariant); safecall;
  576.     function Get_Name: WideString; safecall;
  577.     procedure Set_Name(const Value: WideString); safecall;
  578.     function Get_Type_: Smallint; safecall;
  579.     procedure Set_Type_(Value: Smallint); safecall;
  580.     function Get_Inherited_: WordBool; safecall;
  581.     property Value: OleVariant read Get_Value write Set_Value;
  582.     property Name: WideString read Get_Name write Set_Name;
  583.     property Type_: Smallint read Get_Type_ write Set_Type_;
  584.     property Inherited_: WordBool read Get_Inherited_;
  585.   end;
  586.  
  587. { DispInterface declaration for Dual Interface Property_ }
  588.  
  589.   Property_Disp = dispinterface
  590.     ['{00000027-0000-0010-8000-00AA006D2EA4}']
  591.     property Value: OleVariant dispid 0;
  592.     property Name: WideString dispid 1610809346;
  593.     property Type_: Smallint dispid 1610809348;
  594.     property Inherited_: WordBool readonly dispid 1610809350;
  595.   end;
  596.  
  597.   Workspaces = interface(_DynaCollection)
  598.     ['{0000003B-0000-0010-8000-00AA006D2EA4}']
  599.     function Get_Item(Item: OleVariant): Workspace; safecall;
  600.     property Item[Item: OleVariant]: Workspace read Get_Item; default;
  601.   end;
  602.  
  603. { DispInterface declaration for Dual Interface Workspaces }
  604.  
  605.   WorkspacesDisp = dispinterface
  606.     ['{0000003B-0000-0010-8000-00AA006D2EA4}']
  607.     property Item[Item: OleVariant]: Workspace readonly dispid 0; default;
  608.   end;
  609.  
  610.   Workspace = interface(_DAO)
  611.     ['{00000039-0000-0010-8000-00AA006D2EA4}']
  612.     function Get_Name: WideString; safecall;
  613.     procedure Set_Name(const Value: WideString); safecall;
  614.     function Get_UserName: WideString; safecall;
  615.     procedure Set__30_UserName(const Value: WideString); safecall;
  616.     procedure Set__30_Password(const Value: WideString); safecall;
  617.     function Get_IsolateODBCTrans: Smallint; safecall;
  618.     procedure Set_IsolateODBCTrans(Value: Smallint); safecall;
  619.     function Get_Databases: Databases; safecall;
  620.     function Get_Users: Users; safecall;
  621.     function Get_Groups: Groups; safecall;
  622.     procedure BeginTrans; safecall;
  623.     procedure CommitTrans(Options: Integer); safecall;
  624.     procedure Close; safecall;
  625.     procedure Rollback; safecall;
  626.     function OpenDatabase(const Name: WideString; Options, ReadOnly, Connect: OleVariant): Database; safecall;
  627.     function CreateDatabase(const Name, Connect: WideString; Option: OleVariant): Database; safecall;
  628.     function CreateUser(Name, PID, Password: OleVariant): User; safecall;
  629.     function CreateGroup(Name, PID: OleVariant): Group; safecall;
  630.     function OpenConnection(const Name: WideString; Options, ReadOnly, Connect: OleVariant): Connection; safecall;
  631.     function Get_LoginTimeout: Integer; safecall;
  632.     procedure Set_LoginTimeout(Value: Integer); safecall;
  633.     function Get_DefaultCursorDriver: Integer; safecall;
  634.     procedure Set_DefaultCursorDriver(Value: Integer); safecall;
  635.     function Get_hEnv: Integer; safecall;
  636.     function Get_Type_: Integer; safecall;
  637.     function Get_Connections: Connections; safecall;
  638.     property Name: WideString read Get_Name write Set_Name;
  639.     property UserName: WideString read Get_UserName;
  640.     property _30_UserName: WideString write Set__30_UserName;
  641.     property _30_Password: WideString write Set__30_Password;
  642.     property IsolateODBCTrans: Smallint read Get_IsolateODBCTrans write Set_IsolateODBCTrans;
  643.     property Databases: Databases read Get_Databases;
  644.     property Users: Users read Get_Users;
  645.     property Groups: Groups read Get_Groups;
  646.     property LoginTimeout: Integer read Get_LoginTimeout write Set_LoginTimeout;
  647.     property DefaultCursorDriver: Integer read Get_DefaultCursorDriver write Set_DefaultCursorDriver;
  648.     property hEnv: Integer read Get_hEnv;
  649.     property Type_: Integer read Get_Type_;
  650.     property Connections: Connections read Get_Connections;
  651.   end;
  652.  
  653. { DispInterface declaration for Dual Interface Workspace }
  654.  
  655.   WorkspaceDisp = dispinterface
  656.     ['{00000039-0000-0010-8000-00AA006D2EA4}']
  657.     property Name: WideString dispid 1610809344;
  658.     property UserName: WideString readonly dispid 1610809346;
  659.     property IsolateODBCTrans: Smallint dispid 1610809349;
  660.     property Databases: Databases readonly dispid 0;
  661.     property Users: Users readonly dispid 1610809352;
  662.     property Groups: Groups readonly dispid 1610809353;
  663.     procedure BeginTrans; dispid 1610809354;
  664.     procedure CommitTrans(Options: Integer); dispid 1610809355;
  665.     procedure Close; dispid 1610809356;
  666.     procedure Rollback; dispid 1610809357;
  667.     function OpenDatabase(const Name: WideString; Options, ReadOnly, Connect: OleVariant): Database; dispid 1610809358;
  668.     function CreateDatabase(const Name, Connect: WideString; Option: OleVariant): Database; dispid 1610809359;
  669.     function CreateUser(Name, PID, Password: OleVariant): User; dispid 1610809360;
  670.     function CreateGroup(Name, PID: OleVariant): Group; dispid 1610809361;
  671.     function OpenConnection(const Name: WideString; Options, ReadOnly, Connect: OleVariant): Connection; dispid 1610809362;
  672.     property LoginTimeout: Integer dispid 1610809363;
  673.     property DefaultCursorDriver: Integer dispid 1610809365;
  674.     property hEnv: Integer readonly dispid 1610809367;
  675.     property Type_: Integer readonly dispid 1610809368;
  676.     property Connections: Connections readonly dispid 1610809369;
  677.   end;
  678.  
  679.   Databases = interface(_Collection)
  680.     ['{00000073-0000-0010-8000-00AA006D2EA4}']
  681.     function Get_Item(Item: OleVariant): Database; safecall;
  682.     property Item[Item: OleVariant]: Database read Get_Item; default;
  683.   end;
  684.  
  685. { DispInterface declaration for Dual Interface Databases }
  686.  
  687.   DatabasesDisp = dispinterface
  688.     ['{00000073-0000-0010-8000-00AA006D2EA4}']
  689.     property Item[Item: OleVariant]: Database readonly dispid 0; default;
  690.   end;
  691.  
  692.   Database = interface(_DAO)
  693.     ['{00000071-0000-0010-8000-00AA006D2EA4}']
  694.     function Get_CollatingOrder: Integer; safecall;
  695.     function Get_Connect: WideString; safecall;
  696.     function Get_Name: WideString; safecall;
  697.     function Get_QueryTimeout: Smallint; safecall;
  698.     procedure Set_QueryTimeout(Value: Smallint); safecall;
  699.     function Get_Transactions: WordBool; safecall;
  700.     function Get_Updatable: WordBool; safecall;
  701.     function Get_Version: WideString; safecall;
  702.     function Get_RecordsAffected: Integer; safecall;
  703.     function Get_TableDefs: TableDefs; safecall;
  704.     function Get_QueryDefs: QueryDefs; safecall;
  705.     function Get_Relations: Relations; safecall;
  706.     function Get_Containers: Containers; safecall;
  707.     function Get_Recordsets: Recordsets; safecall;
  708.     procedure Close; safecall;
  709.     procedure Execute(const Query: WideString; Options: OleVariant); safecall;
  710.     function _30_OpenRecordset(const Name: WideString; Type_, Options: OleVariant): Recordset; safecall;
  711.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; safecall;
  712.     function CreateRelation(Name, Table, ForeignTable, Attributes: OleVariant): Relation; safecall;
  713.     function CreateTableDef(Name, Attributes, SourceTableName, Connect: OleVariant): TableDef; safecall;
  714.     procedure BeginTrans; safecall;
  715.     procedure CommitTrans(Options: Integer); safecall;
  716.     procedure Rollback; safecall;
  717.     function CreateDynaset(const Name: WideString; Options, Inconsistent: OleVariant): Recordset; safecall;
  718.     function CreateQueryDef(Name, SQLText: OleVariant): QueryDef; safecall;
  719.     function CreateSnapshot(const Source: WideString; Options: OleVariant): Recordset; safecall;
  720.     procedure DeleteQueryDef(const Name: WideString); safecall;
  721.     function ExecuteSQL(const SQL: WideString): Integer; safecall;
  722.     function ListFields(const Name: WideString): Recordset; safecall;
  723.     function ListTables: Recordset; safecall;
  724.     function OpenQueryDef(const Name: WideString): QueryDef; safecall;
  725.     function OpenTable(const Name: WideString; Options: OleVariant): Recordset; safecall;
  726.     function Get_ReplicaID: WideString; safecall;
  727.     function Get_DesignMasterID: WideString; safecall;
  728.     procedure Set_DesignMasterID(const Value: WideString); safecall;
  729.     procedure Synchronize(const DbPathName: WideString; ExchangeType: OleVariant); safecall;
  730.     procedure MakeReplica(const PathName, Description: WideString; Options: OleVariant); safecall;
  731.     procedure Set_Connect(const Value: WideString); safecall;
  732.     procedure NewPassword(const bstrOld, bstrNew: WideString); safecall;
  733.     function OpenRecordset(const Name: WideString; Type_, Options, LockEdit: OleVariant): Recordset; safecall;
  734.     function Get_Connection: Connection; safecall;
  735.     procedure PopulatePartial(const DbPathName: WideString); safecall;
  736.     property CollatingOrder: Integer read Get_CollatingOrder;
  737.     property Connect: WideString read Get_Connect write Set_Connect;
  738.     property Name: WideString read Get_Name;
  739.     property QueryTimeout: Smallint read Get_QueryTimeout write Set_QueryTimeout;
  740.     property Transactions: WordBool read Get_Transactions;
  741.     property Updatable: WordBool read Get_Updatable;
  742.     property Version: WideString read Get_Version;
  743.     property RecordsAffected: Integer read Get_RecordsAffected;
  744.     property TableDefs: TableDefs read Get_TableDefs;
  745.     property QueryDefs: QueryDefs read Get_QueryDefs;
  746.     property Relations: Relations read Get_Relations;
  747.     property Containers: Containers read Get_Containers;
  748.     property Recordsets: Recordsets read Get_Recordsets;
  749.     property ReplicaID: WideString read Get_ReplicaID;
  750.     property DesignMasterID: WideString read Get_DesignMasterID write Set_DesignMasterID;
  751.     property Connection: Connection read Get_Connection;
  752.   end;
  753.  
  754. { DispInterface declaration for Dual Interface Database }
  755.  
  756.   DatabaseDisp = dispinterface
  757.     ['{00000071-0000-0010-8000-00AA006D2EA4}']
  758.     property CollatingOrder: Integer readonly dispid 1610809344;
  759.     property Connect: WideString dispid 1610809345;
  760.     property Name: WideString readonly dispid 1610809346;
  761.     property QueryTimeout: Smallint dispid 1610809347;
  762.     property Transactions: WordBool readonly dispid 1610809349;
  763.     property Updatable: WordBool readonly dispid 1610809350;
  764.     property Version: WideString readonly dispid 1610809351;
  765.     property RecordsAffected: Integer readonly dispid 1610809352;
  766.     property TableDefs: TableDefs readonly dispid 0;
  767.     property QueryDefs: QueryDefs readonly dispid 1610809354;
  768.     property Relations: Relations readonly dispid 1610809355;
  769.     property Containers: Containers readonly dispid 1610809356;
  770.     property Recordsets: Recordsets readonly dispid 1610809357;
  771.     procedure Close; dispid 1610809358;
  772.     procedure Execute(const Query: WideString; Options: OleVariant); dispid 1610809359;
  773.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; dispid 1610809361;
  774.     function CreateRelation(Name, Table, ForeignTable, Attributes: OleVariant): Relation; dispid 1610809362;
  775.     function CreateTableDef(Name, Attributes, SourceTableName, Connect: OleVariant): TableDef; dispid 1610809363;
  776.     function CreateQueryDef(Name, SQLText: OleVariant): QueryDef; dispid 1610809368;
  777.     property ReplicaID: WideString readonly dispid 1610809376;
  778.     property DesignMasterID: WideString dispid 1610809377;
  779.     procedure Synchronize(const DbPathName: WideString; ExchangeType: OleVariant); dispid 1610809379;
  780.     procedure MakeReplica(const PathName, Description: WideString; Options: OleVariant); dispid 1610809380;
  781.     procedure NewPassword(const bstrOld, bstrNew: WideString); dispid 1610809382;
  782.     function OpenRecordset(const Name: WideString; Type_, Options, LockEdit: OleVariant): Recordset; dispid 1610809383;
  783.     property Connection: Connection readonly dispid 1610809384;
  784.     procedure PopulatePartial(const DbPathName: WideString); dispid 1610809385;
  785.   end;
  786.  
  787.   TableDefs = interface(_DynaCollection)
  788.     ['{0000004B-0000-0010-8000-00AA006D2EA4}']
  789.     function Get_Item(Item: OleVariant): TableDef; safecall;
  790.     property Item[Item: OleVariant]: TableDef read Get_Item; default;
  791.   end;
  792.  
  793. { DispInterface declaration for Dual Interface TableDefs }
  794.  
  795.   TableDefsDisp = dispinterface
  796.     ['{0000004B-0000-0010-8000-00AA006D2EA4}']
  797.     property Item[Item: OleVariant]: TableDef readonly dispid 0; default;
  798.   end;
  799.  
  800.   _TableDef = interface(_DAO)
  801.     ['{00000049-0000-0010-8000-00AA006D2EA4}']
  802.     function Get_Attributes: Integer; safecall;
  803.     procedure Set_Attributes(Value: Integer); safecall;
  804.     function Get_Connect: WideString; safecall;
  805.     procedure Set_Connect(const Value: WideString); safecall;
  806.     function Get_DateCreated: OleVariant; safecall;
  807.     function Get_LastUpdated: OleVariant; safecall;
  808.     function Get_Name: WideString; safecall;
  809.     procedure Set_Name(const Value: WideString); safecall;
  810.     function Get_SourceTableName: WideString; safecall;
  811.     procedure Set_SourceTableName(const Value: WideString); safecall;
  812.     function Get_Updatable: WordBool; safecall;
  813.     function Get_ValidationText: WideString; safecall;
  814.     procedure Set_ValidationText(const Value: WideString); safecall;
  815.     function Get_ValidationRule: WideString; safecall;
  816.     procedure Set_ValidationRule(const Value: WideString); safecall;
  817.     function Get_RecordCount: Integer; safecall;
  818.     function Get_Fields: Fields; safecall;
  819.     function Get_Indexes: Indexes; safecall;
  820.     function OpenRecordset(Type_, Options: OleVariant): Recordset; safecall;
  821.     procedure RefreshLink; safecall;
  822.     function CreateField(Name, Type_, Size: OleVariant): Field; safecall;
  823.     function CreateIndex(Name: OleVariant): Index; safecall;
  824.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; safecall;
  825.     function Get_ConflictTable: WideString; safecall;
  826.     function Get_ReplicaFilter: OleVariant; safecall;
  827.     procedure Set_ReplicaFilter(Value: OleVariant); safecall;
  828.     property Attributes: Integer read Get_Attributes write Set_Attributes;
  829.     property Connect: WideString read Get_Connect write Set_Connect;
  830.     property DateCreated: OleVariant read Get_DateCreated;
  831.     property LastUpdated: OleVariant read Get_LastUpdated;
  832.     property Name: WideString read Get_Name write Set_Name;
  833.     property SourceTableName: WideString read Get_SourceTableName write Set_SourceTableName;
  834.     property Updatable: WordBool read Get_Updatable;
  835.     property ValidationText: WideString read Get_ValidationText write Set_ValidationText;
  836.     property ValidationRule: WideString read Get_ValidationRule write Set_ValidationRule;
  837.     property RecordCount: Integer read Get_RecordCount;
  838.     property Fields: Fields read Get_Fields;
  839.     property Indexes: Indexes read Get_Indexes;
  840.     property ConflictTable: WideString read Get_ConflictTable;
  841.     property ReplicaFilter: OleVariant read Get_ReplicaFilter write Set_ReplicaFilter;
  842.   end;
  843.  
  844. { DispInterface declaration for Dual Interface _TableDef }
  845.  
  846.   _TableDefDisp = dispinterface
  847.     ['{00000049-0000-0010-8000-00AA006D2EA4}']
  848.     property Attributes: Integer dispid 1610809344;
  849.     property Connect: WideString dispid 1610809346;
  850.     property DateCreated: OleVariant readonly dispid 1610809348;
  851.     property LastUpdated: OleVariant readonly dispid 1610809349;
  852.     property Name: WideString dispid 1610809350;
  853.     property SourceTableName: WideString dispid 1610809352;
  854.     property Updatable: WordBool readonly dispid 1610809354;
  855.     property ValidationText: WideString dispid 1610809355;
  856.     property ValidationRule: WideString dispid 1610809357;
  857.     property RecordCount: Integer readonly dispid 1610809359;
  858.     property Fields: Fields readonly dispid 0;
  859.     property Indexes: Indexes readonly dispid 1610809361;
  860.     function OpenRecordset(Type_, Options: OleVariant): Recordset; dispid 1610809362;
  861.     procedure RefreshLink; dispid 1610809363;
  862.     function CreateField(Name, Type_, Size: OleVariant): Field; dispid 1610809364;
  863.     function CreateIndex(Name: OleVariant): Index; dispid 1610809365;
  864.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; dispid 1610809366;
  865.     property ConflictTable: WideString readonly dispid 1610809367;
  866.     property ReplicaFilter: OleVariant dispid 1610809368;
  867.   end;
  868.  
  869.   Fields = interface(_DynaCollection)
  870.     ['{00000053-0000-0010-8000-00AA006D2EA4}']
  871.     function Get_Item(Item: OleVariant): Field; safecall;
  872.     property Item[Item: OleVariant]: Field read Get_Item; default;
  873.   end;
  874.  
  875. { DispInterface declaration for Dual Interface Fields }
  876.  
  877.   FieldsDisp = dispinterface
  878.     ['{00000053-0000-0010-8000-00AA006D2EA4}']
  879.     property Item[Item: OleVariant]: Field readonly dispid 0; default;
  880.   end;
  881.  
  882.   _Field = interface(_DAO)
  883.     ['{00000051-0000-0010-8000-00AA006D2EA4}']
  884.     function Get_CollatingOrder: Integer; safecall;
  885.     function Get_Type_: Smallint; safecall;
  886.     procedure Set_Type_(Value: Smallint); safecall;
  887.     function Get_Name: WideString; safecall;
  888.     procedure Set_Name(const Value: WideString); safecall;
  889.     function Get_Size: Integer; safecall;
  890.     procedure Set_Size(Value: Integer); safecall;
  891.     function Get_SourceField: WideString; safecall;
  892.     function Get_SourceTable: WideString; safecall;
  893.     function Get_Value: OleVariant; safecall;
  894.     procedure Set_Value(Value: OleVariant); safecall;
  895.     function Get_Attributes: Integer; safecall;
  896.     procedure Set_Attributes(Value: Integer); safecall;
  897.     function Get_OrdinalPosition: Smallint; safecall;
  898.     procedure Set_OrdinalPosition(Value: Smallint); safecall;
  899.     function Get_ValidationText: WideString; safecall;
  900.     procedure Set_ValidationText(const Value: WideString); safecall;
  901.     function Get_ValidateOnSet: WordBool; safecall;
  902.     procedure Set_ValidateOnSet(Value: WordBool); safecall;
  903.     function Get_ValidationRule: WideString; safecall;
  904.     procedure Set_ValidationRule(const Value: WideString); safecall;
  905.     function Get_DefaultValue: OleVariant; safecall;
  906.     procedure Set_DefaultValue(Value: OleVariant); safecall;
  907.     function Get_Required: WordBool; safecall;
  908.     procedure Set_Required(Value: WordBool); safecall;
  909.     function Get_AllowZeroLength: WordBool; safecall;
  910.     procedure Set_AllowZeroLength(Value: WordBool); safecall;
  911.     function Get_DataUpdatable: WordBool; safecall;
  912.     function Get_ForeignName: WideString; safecall;
  913.     procedure Set_ForeignName(const Value: WideString); safecall;
  914.     procedure AppendChunk(Val: OleVariant); safecall;
  915.     function GetChunk(Offset, Bytes: Integer): OleVariant; safecall;
  916.     function _30_FieldSize: Integer; safecall;
  917.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; safecall;
  918.     function Get_CollectionIndex: Smallint; safecall;
  919.     function Get_OriginalValue: OleVariant; safecall;
  920.     function Get_VisibleValue: OleVariant; safecall;
  921.     function Get_FieldSize: Integer; safecall;
  922.     property CollatingOrder: Integer read Get_CollatingOrder;
  923.     property Type_: Smallint read Get_Type_ write Set_Type_;
  924.     property Name: WideString read Get_Name write Set_Name;
  925.     property Size: Integer read Get_Size write Set_Size;
  926.     property SourceField: WideString read Get_SourceField;
  927.     property SourceTable: WideString read Get_SourceTable;
  928.     property Value: OleVariant read Get_Value write Set_Value;
  929.     property Attributes: Integer read Get_Attributes write Set_Attributes;
  930.     property OrdinalPosition: Smallint read Get_OrdinalPosition write Set_OrdinalPosition;
  931.     property ValidationText: WideString read Get_ValidationText write Set_ValidationText;
  932.     property ValidateOnSet: WordBool read Get_ValidateOnSet write Set_ValidateOnSet;
  933.     property ValidationRule: WideString read Get_ValidationRule write Set_ValidationRule;
  934.     property DefaultValue: OleVariant read Get_DefaultValue write Set_DefaultValue;
  935.     property Required: WordBool read Get_Required write Set_Required;
  936.     property AllowZeroLength: WordBool read Get_AllowZeroLength write Set_AllowZeroLength;
  937.     property DataUpdatable: WordBool read Get_DataUpdatable;
  938.     property ForeignName: WideString read Get_ForeignName write Set_ForeignName;
  939.     property CollectionIndex: Smallint read Get_CollectionIndex;
  940.     property OriginalValue: OleVariant read Get_OriginalValue;
  941.     property VisibleValue: OleVariant read Get_VisibleValue;
  942.     property FieldSize: Integer read Get_FieldSize;
  943.   end;
  944.  
  945. { DispInterface declaration for Dual Interface _Field }
  946.  
  947.   _FieldDisp = dispinterface
  948.     ['{00000051-0000-0010-8000-00AA006D2EA4}']
  949.     property CollatingOrder: Integer readonly dispid 1610809344;
  950.     property Type_: Smallint dispid 1610809345;
  951.     property Name: WideString dispid 1610809347;
  952.     property Size: Integer dispid 1610809349;
  953.     property SourceField: WideString readonly dispid 1610809351;
  954.     property SourceTable: WideString readonly dispid 1610809352;
  955.     property Value: OleVariant dispid 0;
  956.     property Attributes: Integer dispid 1610809355;
  957.     property OrdinalPosition: Smallint dispid 1610809357;
  958.     property ValidationText: WideString dispid 1610809359;
  959.     property ValidateOnSet: WordBool dispid 1610809361;
  960.     property ValidationRule: WideString dispid 1610809363;
  961.     property DefaultValue: OleVariant dispid 1610809365;
  962.     property Required: WordBool dispid 1610809367;
  963.     property AllowZeroLength: WordBool dispid 1610809369;
  964.     property DataUpdatable: WordBool readonly dispid 1610809371;
  965.     property ForeignName: WideString dispid 1610809372;
  966.     procedure AppendChunk(Val: OleVariant); dispid 1610809374;
  967.     function GetChunk(Offset, Bytes: Integer): OleVariant; dispid 1610809375;
  968.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; dispid 1610809377;
  969.     property CollectionIndex: Smallint readonly dispid 1610809378;
  970.     property OriginalValue: OleVariant readonly dispid 1610809379;
  971.     property VisibleValue: OleVariant readonly dispid 1610809380;
  972.     property FieldSize: Integer readonly dispid 1610809381;
  973.   end;
  974.  
  975.   Indexes = interface(_DynaCollection)
  976.     ['{0000005B-0000-0010-8000-00AA006D2EA4}']
  977.     function Get_Item(Item: OleVariant): Index; safecall;
  978.     property Item[Item: OleVariant]: Index read Get_Item; default;
  979.   end;
  980.  
  981. { DispInterface declaration for Dual Interface Indexes }
  982.  
  983.   IndexesDisp = dispinterface
  984.     ['{0000005B-0000-0010-8000-00AA006D2EA4}']
  985.     property Item[Item: OleVariant]: Index readonly dispid 0; default;
  986.   end;
  987.  
  988.   _Index = interface(_DAO)
  989.     ['{00000059-0000-0010-8000-00AA006D2EA4}']
  990.     function Get_Name: WideString; safecall;
  991.     procedure Set_Name(const Value: WideString); safecall;
  992.     function Get_Foreign: WordBool; safecall;
  993.     function Get_Unique: WordBool; safecall;
  994.     procedure Set_Unique(Value: WordBool); safecall;
  995.     function Get_Clustered: WordBool; safecall;
  996.     procedure Set_Clustered(Value: WordBool); safecall;
  997.     function Get_Required: WordBool; safecall;
  998.     procedure Set_Required(Value: WordBool); safecall;
  999.     function Get_IgnoreNulls: WordBool; safecall;
  1000.     procedure Set_IgnoreNulls(Value: WordBool); safecall;
  1001.     function Get_Primary: WordBool; safecall;
  1002.     procedure Set_Primary(Value: WordBool); safecall;
  1003.     function Get_DistinctCount: Integer; safecall;
  1004.     function Get_Fields: OleVariant; safecall;
  1005.     procedure Set_Fields(Value: OleVariant); safecall;
  1006.     function CreateField(Name, Type_, Size: OleVariant): Field; safecall;
  1007.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; safecall;
  1008.     property Name: WideString read Get_Name write Set_Name;
  1009.     property Foreign: WordBool read Get_Foreign;
  1010.     property Unique: WordBool read Get_Unique write Set_Unique;
  1011.     property Clustered: WordBool read Get_Clustered write Set_Clustered;
  1012.     property Required: WordBool read Get_Required write Set_Required;
  1013.     property IgnoreNulls: WordBool read Get_IgnoreNulls write Set_IgnoreNulls;
  1014.     property Primary: WordBool read Get_Primary write Set_Primary;
  1015.     property DistinctCount: Integer read Get_DistinctCount;
  1016.     property Fields: OleVariant read Get_Fields write Set_Fields;
  1017.   end;
  1018.  
  1019. { DispInterface declaration for Dual Interface _Index }
  1020.  
  1021.   _IndexDisp = dispinterface
  1022.     ['{00000059-0000-0010-8000-00AA006D2EA4}']
  1023.     property Name: WideString dispid 1610809344;
  1024.     property Foreign: WordBool readonly dispid 1610809346;
  1025.     property Unique: WordBool dispid 1610809347;
  1026.     property Clustered: WordBool dispid 1610809349;
  1027.     property Required: WordBool dispid 1610809351;
  1028.     property IgnoreNulls: WordBool dispid 1610809353;
  1029.     property Primary: WordBool dispid 1610809355;
  1030.     property DistinctCount: Integer readonly dispid 1610809357;
  1031.     property Fields: OleVariant dispid 1610809358;
  1032.     function CreateField(Name, Type_, Size: OleVariant): Field; dispid 1610809360;
  1033.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; dispid 1610809361;
  1034.   end;
  1035.  
  1036.   Recordset = interface(_DAO)
  1037.     ['{00000031-0000-0010-8000-00AA006D2EA4}']
  1038.     function Get_BOF: WordBool; safecall;
  1039.     function Get_Bookmark: PSafeArray; safecall;
  1040.     procedure Set_Bookmark(Value: PSafeArray); safecall;
  1041.     function Get_Bookmarkable: WordBool; safecall;
  1042.     function Get_DateCreated: OleVariant; safecall;
  1043.     function Get_EOF: WordBool; safecall;
  1044.     function Get_Filter: WideString; safecall;
  1045.     procedure Set_Filter(const Value: WideString); safecall;
  1046.     function Get_Index: WideString; safecall;
  1047.     procedure Set_Index(const Value: WideString); safecall;
  1048.     function Get_LastModified: PSafeArray; safecall;
  1049.     function Get_LastUpdated: OleVariant; safecall;
  1050.     function Get_LockEdits: WordBool; safecall;
  1051.     procedure Set_LockEdits(Value: WordBool); safecall;
  1052.     function Get_Name: WideString; safecall;
  1053.     function Get_NoMatch: WordBool; safecall;
  1054.     function Get_Sort: WideString; safecall;
  1055.     procedure Set_Sort(const Value: WideString); safecall;
  1056.     function Get_Transactions: WordBool; safecall;
  1057.     function Get_Type_: Smallint; safecall;
  1058.     function Get_RecordCount: Integer; safecall;
  1059.     function Get_Updatable: WordBool; safecall;
  1060.     function Get_Restartable: WordBool; safecall;
  1061.     function Get_ValidationText: WideString; safecall;
  1062.     function Get_ValidationRule: WideString; safecall;
  1063.     function Get_CacheStart: PSafeArray; safecall;
  1064.     procedure Set_CacheStart(Value: PSafeArray); safecall;
  1065.     function Get_CacheSize: Integer; safecall;
  1066.     procedure Set_CacheSize(Value: Integer); safecall;
  1067.     function Get_PercentPosition: Single; safecall;
  1068.     procedure Set_PercentPosition(Value: Single); safecall;
  1069.     function Get_AbsolutePosition: Integer; safecall;
  1070.     procedure Set_AbsolutePosition(Value: Integer); safecall;
  1071.     function Get_EditMode: Smallint; safecall;
  1072.     function Get_ODBCFetchCount: Integer; safecall;
  1073.     function Get_ODBCFetchDelay: Integer; safecall;
  1074.     function Get_Parent: Database; safecall;
  1075.     function Get_Fields: Fields; safecall;
  1076.     function Get_Indexes: Indexes; safecall;
  1077.     procedure _30_CancelUpdate; safecall;
  1078.     procedure AddNew; safecall;
  1079.     procedure Close; safecall;
  1080.     function OpenRecordset(Type_, Options: OleVariant): Recordset; safecall;
  1081.     procedure Delete; safecall;
  1082.     procedure Edit; safecall;
  1083.     procedure FindFirst(const Criteria: WideString); safecall;
  1084.     procedure FindLast(const Criteria: WideString); safecall;
  1085.     procedure FindNext(const Criteria: WideString); safecall;
  1086.     procedure FindPrevious(const Criteria: WideString); safecall;
  1087.     procedure MoveFirst; safecall;
  1088.     procedure _30_MoveLast; safecall;
  1089.     procedure MoveNext; safecall;
  1090.     procedure MovePrevious; safecall;
  1091.     procedure Seek(const Comparison: WideString; Key1, Key2, Key3, Key4, Key5, Key6, Key7, Key8, Key9, Key10, Key11, Key12, Key13: OleVariant); safecall;
  1092.     procedure _30_Update; safecall;
  1093.     function Clone: Recordset; safecall;
  1094.     procedure Requery(NewQueryDef: OleVariant); safecall;
  1095.     procedure Move(Rows: Integer; StartBookmark: OleVariant); safecall;
  1096.     procedure FillCache(Rows, StartBookmark: OleVariant); safecall;
  1097.     function CreateDynaset(Options, Inconsistent: OleVariant): Recordset; safecall;
  1098.     function CreateSnapshot(Options: OleVariant): Recordset; safecall;
  1099.     function CopyQueryDef: QueryDef; safecall;
  1100.     function ListFields: Recordset; safecall;
  1101.     function ListIndexes: Recordset; safecall;
  1102.     function GetRows(NumRows: OleVariant): OleVariant; safecall;
  1103.     function Get_Collect(Item: OleVariant): OleVariant; safecall;
  1104.     procedure Set_Collect(Item: OleVariant; Value: OleVariant); safecall;
  1105.     procedure Cancel; safecall;
  1106.     function NextRecordset: WordBool; safecall;
  1107.     function Get_hStmt: Integer; safecall;
  1108.     function Get_StillExecuting: WordBool; safecall;
  1109.     function Get_BatchSize: Integer; safecall;
  1110.     procedure Set_BatchSize(Value: Integer); safecall;
  1111.     function Get_BatchCollisionCount: Integer; safecall;
  1112.     function Get_BatchCollisions: OleVariant; safecall;
  1113.     function Get_Connection: Connection; safecall;
  1114.     procedure Set_Connection(Value: Connection); safecall;
  1115.     function Get_RecordStatus: Smallint; safecall;
  1116.     function Get_UpdateOptions: Integer; safecall;
  1117.     procedure Set_UpdateOptions(Value: Integer); safecall;
  1118.     procedure CancelUpdate(UpdateType: Integer); safecall;
  1119.     procedure Update(UpdateType: Integer; Force: WordBool); safecall;
  1120.     procedure MoveLast(Options: Integer); safecall;
  1121.     property BOF: WordBool read Get_BOF;
  1122.     property Bookmark: PSafeArray read Get_Bookmark write Set_Bookmark;
  1123.     property Bookmarkable: WordBool read Get_Bookmarkable;
  1124.     property DateCreated: OleVariant read Get_DateCreated;
  1125.     property EOF: WordBool read Get_EOF;
  1126.     property Filter: WideString read Get_Filter write Set_Filter;
  1127.     property Index: WideString read Get_Index write Set_Index;
  1128.     property LastModified: PSafeArray read Get_LastModified;
  1129.     property LastUpdated: OleVariant read Get_LastUpdated;
  1130.     property LockEdits: WordBool read Get_LockEdits write Set_LockEdits;
  1131.     property Name: WideString read Get_Name;
  1132.     property NoMatch: WordBool read Get_NoMatch;
  1133.     property Sort: WideString read Get_Sort write Set_Sort;
  1134.     property Transactions: WordBool read Get_Transactions;
  1135.     property Type_: Smallint read Get_Type_;
  1136.     property RecordCount: Integer read Get_RecordCount;
  1137.     property Updatable: WordBool read Get_Updatable;
  1138.     property Restartable: WordBool read Get_Restartable;
  1139.     property ValidationText: WideString read Get_ValidationText;
  1140.     property ValidationRule: WideString read Get_ValidationRule;
  1141.     property CacheStart: PSafeArray read Get_CacheStart write Set_CacheStart;
  1142.     property CacheSize: Integer read Get_CacheSize write Set_CacheSize;
  1143.     property PercentPosition: Single read Get_PercentPosition write Set_PercentPosition;
  1144.     property AbsolutePosition: Integer read Get_AbsolutePosition write Set_AbsolutePosition;
  1145.     property EditMode: Smallint read Get_EditMode;
  1146.     property ODBCFetchCount: Integer read Get_ODBCFetchCount;
  1147.     property ODBCFetchDelay: Integer read Get_ODBCFetchDelay;
  1148.     property Parent: Database read Get_Parent;
  1149.     property Fields: Fields read Get_Fields;
  1150.     property Indexes: Indexes read Get_Indexes;
  1151.     property Collect[Item: OleVariant]: OleVariant read Get_Collect write Set_Collect;
  1152.     property hStmt: Integer read Get_hStmt;
  1153.     property StillExecuting: WordBool read Get_StillExecuting;
  1154.     property BatchSize: Integer read Get_BatchSize write Set_BatchSize;
  1155.     property BatchCollisionCount: Integer read Get_BatchCollisionCount;
  1156.     property BatchCollisions: OleVariant read Get_BatchCollisions;
  1157.     property Connection: Connection read Get_Connection write Set_Connection;
  1158.     property RecordStatus: Smallint read Get_RecordStatus;
  1159.     property UpdateOptions: Integer read Get_UpdateOptions write Set_UpdateOptions;
  1160.   end;
  1161.  
  1162. { DispInterface declaration for Dual Interface Recordset }
  1163.  
  1164.   RecordsetDisp = dispinterface
  1165.     ['{00000031-0000-0010-8000-00AA006D2EA4}']
  1166.     property BOF: WordBool readonly dispid 101;
  1167.     property Bookmark: OleVariant dispid 102;
  1168.     property Bookmarkable: WordBool readonly dispid 103;
  1169.     property DateCreated: OleVariant readonly dispid 104;
  1170.     property EOF: WordBool readonly dispid 105;
  1171.     property Filter: WideString dispid 106;
  1172.     property Index: WideString dispid 107;
  1173.     property LastModified: OleVariant readonly dispid 108;
  1174.     property LastUpdated: OleVariant readonly dispid 109;
  1175.     property LockEdits: WordBool dispid 110;
  1176.     property Name: WideString readonly dispid 111;
  1177.     property NoMatch: WordBool readonly dispid 112;
  1178.     property Sort: WideString dispid 113;
  1179.     property Transactions: WordBool readonly dispid 114;
  1180.     property Type_: Smallint readonly dispid 115;
  1181.     property RecordCount: Integer readonly dispid 116;
  1182.     property Updatable: WordBool readonly dispid 117;
  1183.     property Restartable: WordBool readonly dispid 118;
  1184.     property ValidationText: WideString readonly dispid 119;
  1185.     property ValidationRule: WideString readonly dispid 120;
  1186.     property CacheStart: OleVariant dispid 121;
  1187.     property CacheSize: Integer dispid 122;
  1188.     property PercentPosition: Single dispid 123;
  1189.     property AbsolutePosition: Integer dispid 124;
  1190.     property EditMode: Smallint readonly dispid 125;
  1191.     property ODBCFetchCount: Integer readonly dispid 126;
  1192.     property ODBCFetchDelay: Integer readonly dispid 127;
  1193.     property Parent: Database readonly dispid 128;
  1194.     property Fields: Fields readonly dispid 0;
  1195.     procedure AddNew; dispid 132;
  1196.     procedure Close; dispid 133;
  1197.     function OpenRecordset(Type_, Options: OleVariant): Recordset; dispid 134;
  1198.     procedure Delete; dispid 135;
  1199.     procedure Edit; dispid 136;
  1200.     procedure FindFirst(const Criteria: WideString); dispid 137;
  1201.     procedure FindLast(const Criteria: WideString); dispid 138;
  1202.     procedure FindNext(const Criteria: WideString); dispid 139;
  1203.     procedure FindPrevious(const Criteria: WideString); dispid 140;
  1204.     procedure MoveFirst; dispid 141;
  1205.     procedure MoveNext; dispid 143;
  1206.     procedure MovePrevious; dispid 144;
  1207.     procedure Seek(const Comparison: WideString; Key1, Key2, Key3, Key4, Key5, Key6, Key7, Key8, Key9, Key10, Key11, Key12, Key13: OleVariant); dispid 145;
  1208.     function Clone: Recordset; dispid 147;
  1209.     procedure Requery(NewQueryDef: OleVariant); dispid 148;
  1210.     procedure Move(Rows: Integer; StartBookmark: OleVariant); dispid 149;
  1211.     procedure FillCache(Rows, StartBookmark: OleVariant); dispid 150;
  1212.     function CopyQueryDef: QueryDef; dispid 153;
  1213.     function GetRows(NumRows: OleVariant): OleVariant; dispid 156;
  1214.     property Collect[Item: OleVariant]: OleVariant dispid -8;
  1215.     procedure Cancel; dispid 157;
  1216.     function NextRecordset: WordBool; dispid 158;
  1217.     property hStmt: Integer readonly dispid 159;
  1218.     property StillExecuting: WordBool readonly dispid 160;
  1219.     property BatchSize: Integer dispid 161;
  1220.     property BatchCollisionCount: Integer readonly dispid 162;
  1221.     property BatchCollisions: OleVariant readonly dispid 163;
  1222.     property Connection: Connection dispid 164;
  1223.     property RecordStatus: Smallint readonly dispid 165;
  1224.     property UpdateOptions: Integer dispid 166;
  1225.     procedure CancelUpdate(UpdateType: Integer); dispid 167;
  1226.     procedure Update(UpdateType: Integer; Force: WordBool); dispid 168;
  1227.     procedure MoveLast(Options: Integer); dispid 169;
  1228.   end;
  1229.  
  1230.   _QueryDef = interface(_DAO)
  1231.     ['{00000079-0000-0010-8000-00AA006D2EA4}']
  1232.     function Get_DateCreated: OleVariant; safecall;
  1233.     function Get_LastUpdated: OleVariant; safecall;
  1234.     function Get_Name: WideString; safecall;
  1235.     procedure Set_Name(const Value: WideString); safecall;
  1236.     function Get_ODBCTimeout: Smallint; safecall;
  1237.     procedure Set_ODBCTimeout(Value: Smallint); safecall;
  1238.     function Get_Type_: Smallint; safecall;
  1239.     function Get_SQL: WideString; safecall;
  1240.     procedure Set_SQL(const Value: WideString); safecall;
  1241.     function Get_Updatable: WordBool; safecall;
  1242.     function Get_Connect: WideString; safecall;
  1243.     procedure Set_Connect(const Value: WideString); safecall;
  1244.     function Get_ReturnsRecords: WordBool; safecall;
  1245.     procedure Set_ReturnsRecords(Value: WordBool); safecall;
  1246.     function Get_RecordsAffected: Integer; safecall;
  1247.     function Get_Fields: Fields; safecall;
  1248.     function Get_Parameters: Parameters; safecall;
  1249.     procedure Close; safecall;
  1250.     function _30_OpenRecordset(Type_, Options: OleVariant): Recordset; safecall;
  1251.     function _30__OpenRecordset(Type_, Options: OleVariant): Recordset; safecall;
  1252.     function _Copy: QueryDef; safecall;
  1253.     procedure Execute(Options: OleVariant); safecall;
  1254.     procedure Compare(const pQdef: QueryDef; var lps: Smallint); safecall;
  1255.     function CreateDynaset(Options, Inconsistent: OleVariant): Recordset; safecall;
  1256.     function CreateSnapshot(Options: OleVariant): Recordset; safecall;
  1257.     function ListParameters: Recordset; safecall;
  1258.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; safecall;
  1259.     function OpenRecordset(Type_, Options, LockEdit: OleVariant): Recordset; safecall;
  1260.     function _OpenRecordset(Type_, Options, LockEdit: OleVariant): Recordset; safecall;
  1261.     procedure Cancel; safecall;
  1262.     function Get_hStmt: Integer; safecall;
  1263.     function Get_MaxRecords: Integer; safecall;
  1264.     procedure Set_MaxRecords(Value: Integer); safecall;
  1265.     function Get_StillExecuting: WordBool; safecall;
  1266.     function Get_CacheSize: Integer; safecall;
  1267.     procedure Set_CacheSize(Value: Integer); safecall;
  1268.     function Get_Prepare: OleVariant; safecall;
  1269.     procedure Set_Prepare(Value: OleVariant); safecall;
  1270.     property DateCreated: OleVariant read Get_DateCreated;
  1271.     property LastUpdated: OleVariant read Get_LastUpdated;
  1272.     property Name: WideString read Get_Name write Set_Name;
  1273.     property ODBCTimeout: Smallint read Get_ODBCTimeout write Set_ODBCTimeout;
  1274.     property Type_: Smallint read Get_Type_;
  1275.     property SQL: WideString read Get_SQL write Set_SQL;
  1276.     property Updatable: WordBool read Get_Updatable;
  1277.     property Connect: WideString read Get_Connect write Set_Connect;
  1278.     property ReturnsRecords: WordBool read Get_ReturnsRecords write Set_ReturnsRecords;
  1279.     property RecordsAffected: Integer read Get_RecordsAffected;
  1280.     property Fields: Fields read Get_Fields;
  1281.     property Parameters: Parameters read Get_Parameters;
  1282.     property hStmt: Integer read Get_hStmt;
  1283.     property MaxRecords: Integer read Get_MaxRecords write Set_MaxRecords;
  1284.     property StillExecuting: WordBool read Get_StillExecuting;
  1285.     property CacheSize: Integer read Get_CacheSize write Set_CacheSize;
  1286.     property Prepare: OleVariant read Get_Prepare write Set_Prepare;
  1287.   end;
  1288.  
  1289. { DispInterface declaration for Dual Interface _QueryDef }
  1290.  
  1291.   _QueryDefDisp = dispinterface
  1292.     ['{00000079-0000-0010-8000-00AA006D2EA4}']
  1293.     property DateCreated: OleVariant readonly dispid 1610809344;
  1294.     property LastUpdated: OleVariant readonly dispid 1610809345;
  1295.     property Name: WideString dispid 1610809346;
  1296.     property ODBCTimeout: Smallint dispid 1610809348;
  1297.     property Type_: Smallint readonly dispid 1610809350;
  1298.     property SQL: WideString dispid 1610809351;
  1299.     property Updatable: WordBool readonly dispid 1610809353;
  1300.     property Connect: WideString dispid 1610809354;
  1301.     property ReturnsRecords: WordBool dispid 1610809356;
  1302.     property RecordsAffected: Integer readonly dispid 1610809358;
  1303.     property Fields: Fields readonly dispid 1610809359;
  1304.     property Parameters: Parameters readonly dispid 0;
  1305.     procedure Close; dispid 1610809361;
  1306.     procedure Execute(Options: OleVariant); dispid 1610809365;
  1307.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; dispid 1610809370;
  1308.     function OpenRecordset(Type_, Options, LockEdit: OleVariant): Recordset; dispid 1610809371;
  1309.     procedure Cancel; dispid 1610809373;
  1310.     property hStmt: Integer readonly dispid 1610809374;
  1311.     property MaxRecords: Integer dispid 1610809375;
  1312.     property StillExecuting: WordBool readonly dispid 1610809377;
  1313.     property CacheSize: Integer dispid 1610809378;
  1314.     property Prepare: OleVariant dispid 1610809380;
  1315.   end;
  1316.  
  1317.   Parameters = interface(_Collection)
  1318.     ['{00000083-0000-0010-8000-00AA006D2EA4}']
  1319.     function Get_Item(Item: OleVariant): Parameter; safecall;
  1320.     property Item[Item: OleVariant]: Parameter read Get_Item; default;
  1321.   end;
  1322.  
  1323. { DispInterface declaration for Dual Interface Parameters }
  1324.  
  1325.   ParametersDisp = dispinterface
  1326.     ['{00000083-0000-0010-8000-00AA006D2EA4}']
  1327.     property Item[Item: OleVariant]: Parameter readonly dispid 0; default;
  1328.   end;
  1329.  
  1330.   Parameter = interface(_DAO)
  1331.     ['{00000081-0000-0010-8000-00AA006D2EA4}']
  1332.     function Get_Name: WideString; safecall;
  1333.     function Get_Value: OleVariant; safecall;
  1334.     procedure Set_Value(Value: OleVariant); safecall;
  1335.     function Get_Type_: Smallint; safecall;
  1336.     procedure Set_Type_(Value: Smallint); safecall;
  1337.     function Get_Direction: Smallint; safecall;
  1338.     procedure Set_Direction(Value: Smallint); safecall;
  1339.     property Name: WideString read Get_Name;
  1340.     property Value: OleVariant read Get_Value write Set_Value;
  1341.     property Type_: Smallint read Get_Type_ write Set_Type_;
  1342.     property Direction: Smallint read Get_Direction write Set_Direction;
  1343.   end;
  1344.  
  1345. { DispInterface declaration for Dual Interface Parameter }
  1346.  
  1347.   ParameterDisp = dispinterface
  1348.     ['{00000081-0000-0010-8000-00AA006D2EA4}']
  1349.     property Name: WideString readonly dispid 1610809344;
  1350.     property Value: OleVariant dispid 0;
  1351.     property Type_: Smallint dispid 1610809347;
  1352.     property Direction: Smallint dispid 1610809349;
  1353.   end;
  1354.  
  1355.   Connection = interface(IDispatch)
  1356.     ['{00000041-0000-0010-8000-00AA006D2EA4}']
  1357.     function Get_Name: WideString; safecall;
  1358.     function Get_Connect: WideString; safecall;
  1359.     function Get_Database: Database; safecall;
  1360.     function Get_hDbc: Integer; safecall;
  1361.     function Get_QueryTimeout: Smallint; safecall;
  1362.     procedure Set_QueryTimeout(Value: Smallint); safecall;
  1363.     function Get_Transactions: WordBool; safecall;
  1364.     function Get_RecordsAffected: Integer; safecall;
  1365.     function Get_StillExecuting: WordBool; safecall;
  1366.     function Get_Updatable: WordBool; safecall;
  1367.     function Get_QueryDefs: QueryDefs; safecall;
  1368.     function Get_Recordsets: Recordsets; safecall;
  1369.     procedure Cancel; safecall;
  1370.     procedure Close; safecall;
  1371.     function CreateQueryDef(Name, SQLText: OleVariant): QueryDef; safecall;
  1372.     procedure Execute(const Query: WideString; Options: OleVariant); safecall;
  1373.     function OpenRecordset(const Name: WideString; Type_, Options, LockEdit: OleVariant): Recordset; safecall;
  1374.     property Name: WideString read Get_Name;
  1375.     property Connect: WideString read Get_Connect;
  1376.     property Database: Database read Get_Database;
  1377.     property hDbc: Integer read Get_hDbc;
  1378.     property QueryTimeout: Smallint read Get_QueryTimeout write Set_QueryTimeout;
  1379.     property Transactions: WordBool read Get_Transactions;
  1380.     property RecordsAffected: Integer read Get_RecordsAffected;
  1381.     property StillExecuting: WordBool read Get_StillExecuting;
  1382.     property Updatable: WordBool read Get_Updatable;
  1383.     property QueryDefs: QueryDefs read Get_QueryDefs;
  1384.     property Recordsets: Recordsets read Get_Recordsets;
  1385.   end;
  1386.  
  1387. { DispInterface declaration for Dual Interface Connection }
  1388.  
  1389.   ConnectionDisp = dispinterface
  1390.     ['{00000041-0000-0010-8000-00AA006D2EA4}']
  1391.     property Name: WideString readonly dispid 1610743808;
  1392.     property Connect: WideString readonly dispid 1610743809;
  1393.     property Database: Database readonly dispid 1610743810;
  1394.     property hDbc: Integer readonly dispid 1610743811;
  1395.     property QueryTimeout: Smallint dispid 1610743812;
  1396.     property Transactions: WordBool readonly dispid 1610743814;
  1397.     property RecordsAffected: Integer readonly dispid 1610743815;
  1398.     property StillExecuting: WordBool readonly dispid 1610743816;
  1399.     property Updatable: WordBool readonly dispid 1610743817;
  1400.     property QueryDefs: QueryDefs readonly dispid 0;
  1401.     property Recordsets: Recordsets readonly dispid 1610743819;
  1402.     procedure Cancel; dispid 1610743820;
  1403.     procedure Close; dispid 1610743821;
  1404.     function CreateQueryDef(Name, SQLText: OleVariant): QueryDef; dispid 1610743822;
  1405.     procedure Execute(const Query: WideString; Options: OleVariant); dispid 1610743823;
  1406.     function OpenRecordset(const Name: WideString; Type_, Options, LockEdit: OleVariant): Recordset; dispid 1610743824;
  1407.   end;
  1408.  
  1409.   QueryDefs = interface(_DynaCollection)
  1410.     ['{0000007B-0000-0010-8000-00AA006D2EA4}']
  1411.     function Get_Item(Item: OleVariant): QueryDef; safecall;
  1412.     property Item[Item: OleVariant]: QueryDef read Get_Item; default;
  1413.   end;
  1414.  
  1415. { DispInterface declaration for Dual Interface QueryDefs }
  1416.  
  1417.   QueryDefsDisp = dispinterface
  1418.     ['{0000007B-0000-0010-8000-00AA006D2EA4}']
  1419.     property Item[Item: OleVariant]: QueryDef readonly dispid 0; default;
  1420.   end;
  1421.  
  1422.   Recordsets = interface(_Collection)
  1423.     ['{00000033-0000-0010-8000-00AA006D2EA4}']
  1424.     function Get_Item(Item: OleVariant): Recordset; safecall;
  1425.     property Item[Item: OleVariant]: Recordset read Get_Item; default;
  1426.   end;
  1427.  
  1428. { DispInterface declaration for Dual Interface Recordsets }
  1429.  
  1430.   RecordsetsDisp = dispinterface
  1431.     ['{00000033-0000-0010-8000-00AA006D2EA4}']
  1432.     property Item[Item: OleVariant]: Recordset readonly dispid 0; default;
  1433.   end;
  1434.  
  1435.   Relations = interface(_DynaCollection)
  1436.     ['{0000008B-0000-0010-8000-00AA006D2EA4}']
  1437.     function Get_Item(Item: OleVariant): Relation; safecall;
  1438.     property Item[Item: OleVariant]: Relation read Get_Item; default;
  1439.   end;
  1440.  
  1441. { DispInterface declaration for Dual Interface Relations }
  1442.  
  1443.   RelationsDisp = dispinterface
  1444.     ['{0000008B-0000-0010-8000-00AA006D2EA4}']
  1445.     property Item[Item: OleVariant]: Relation readonly dispid 0; default;
  1446.   end;
  1447.  
  1448.   _Relation = interface(_DAO)
  1449.     ['{00000089-0000-0010-8000-00AA006D2EA4}']
  1450.     function Get_Name: WideString; safecall;
  1451.     procedure Set_Name(const Value: WideString); safecall;
  1452.     function Get_Table: WideString; safecall;
  1453.     procedure Set_Table(const Value: WideString); safecall;
  1454.     function Get_ForeignTable: WideString; safecall;
  1455.     procedure Set_ForeignTable(const Value: WideString); safecall;
  1456.     function Get_Attributes: Integer; safecall;
  1457.     procedure Set_Attributes(Value: Integer); safecall;
  1458.     function Get_Fields: Fields; safecall;
  1459.     function CreateField(Name, Type_, Size: OleVariant): Field; safecall;
  1460.     function Get_PartialReplica: WordBool; safecall;
  1461.     procedure Set_PartialReplica(Value: WordBool); safecall;
  1462.     property Name: WideString read Get_Name write Set_Name;
  1463.     property Table: WideString read Get_Table write Set_Table;
  1464.     property ForeignTable: WideString read Get_ForeignTable write Set_ForeignTable;
  1465.     property Attributes: Integer read Get_Attributes write Set_Attributes;
  1466.     property Fields: Fields read Get_Fields;
  1467.     property PartialReplica: WordBool read Get_PartialReplica write Set_PartialReplica;
  1468.   end;
  1469.  
  1470. { DispInterface declaration for Dual Interface _Relation }
  1471.  
  1472.   _RelationDisp = dispinterface
  1473.     ['{00000089-0000-0010-8000-00AA006D2EA4}']
  1474.     property Name: WideString dispid 1610809344;
  1475.     property Table: WideString dispid 1610809346;
  1476.     property ForeignTable: WideString dispid 1610809348;
  1477.     property Attributes: Integer dispid 1610809350;
  1478.     property Fields: Fields readonly dispid 0;
  1479.     function CreateField(Name, Type_, Size: OleVariant): Field; dispid 1610809353;
  1480.     property PartialReplica: WordBool dispid 1610809354;
  1481.   end;
  1482.  
  1483.   Containers = interface(_Collection)
  1484.     ['{00000093-0000-0010-8000-00AA006D2EA4}']
  1485.     function Get_Item(Item: OleVariant): Container; safecall;
  1486.     property Item[Item: OleVariant]: Container read Get_Item; default;
  1487.   end;
  1488.  
  1489. { DispInterface declaration for Dual Interface Containers }
  1490.  
  1491.   ContainersDisp = dispinterface
  1492.     ['{00000093-0000-0010-8000-00AA006D2EA4}']
  1493.     property Item[Item: OleVariant]: Container readonly dispid 0; default;
  1494.   end;
  1495.  
  1496.   Container = interface(_DAO)
  1497.     ['{00000091-0000-0010-8000-00AA006D2EA4}']
  1498.     function Get_Name: WideString; safecall;
  1499.     function Get_Owner: WideString; safecall;
  1500.     procedure Set_Owner(const Value: WideString); safecall;
  1501.     function Get_UserName: WideString; safecall;
  1502.     procedure Set_UserName(const Value: WideString); safecall;
  1503.     function Get_Permissions: Integer; safecall;
  1504.     procedure Set_Permissions(Value: Integer); safecall;
  1505.     function Get_Inherit: WordBool; safecall;
  1506.     procedure Set_Inherit(Value: WordBool); safecall;
  1507.     function Get_Documents: Documents; safecall;
  1508.     function Get_AllPermissions: Integer; safecall;
  1509.     property Name: WideString read Get_Name;
  1510.     property Owner: WideString read Get_Owner write Set_Owner;
  1511.     property UserName: WideString read Get_UserName write Set_UserName;
  1512.     property Permissions: Integer read Get_Permissions write Set_Permissions;
  1513.     property Inherit: WordBool read Get_Inherit write Set_Inherit;
  1514.     property Documents: Documents read Get_Documents;
  1515.     property AllPermissions: Integer read Get_AllPermissions;
  1516.   end;
  1517.  
  1518. { DispInterface declaration for Dual Interface Container }
  1519.  
  1520.   ContainerDisp = dispinterface
  1521.     ['{00000091-0000-0010-8000-00AA006D2EA4}']
  1522.     property Name: WideString readonly dispid 1610809344;
  1523.     property Owner: WideString dispid 1610809345;
  1524.     property UserName: WideString dispid 1610809347;
  1525.     property Permissions: Integer dispid 1610809349;
  1526.     property Inherit: WordBool dispid 1610809351;
  1527.     property Documents: Documents readonly dispid 0;
  1528.     property AllPermissions: Integer readonly dispid 1610809354;
  1529.   end;
  1530.  
  1531.   Documents = interface(_Collection)
  1532.     ['{0000009B-0000-0010-8000-00AA006D2EA4}']
  1533.     function Get_Item(Item: OleVariant): Document; safecall;
  1534.     property Item[Item: OleVariant]: Document read Get_Item; default;
  1535.   end;
  1536.  
  1537. { DispInterface declaration for Dual Interface Documents }
  1538.  
  1539.   DocumentsDisp = dispinterface
  1540.     ['{0000009B-0000-0010-8000-00AA006D2EA4}']
  1541.     property Item[Item: OleVariant]: Document readonly dispid 0; default;
  1542.   end;
  1543.  
  1544.   Document = interface(_DAO)
  1545.     ['{00000099-0000-0010-8000-00AA006D2EA4}']
  1546.     function Get_Name: WideString; safecall;
  1547.     function Get_Owner: WideString; safecall;
  1548.     procedure Set_Owner(const Value: WideString); safecall;
  1549.     function Get_Container: WideString; safecall;
  1550.     function Get_UserName: WideString; safecall;
  1551.     procedure Set_UserName(const Value: WideString); safecall;
  1552.     function Get_Permissions: Integer; safecall;
  1553.     procedure Set_Permissions(Value: Integer); safecall;
  1554.     function Get_DateCreated: OleVariant; safecall;
  1555.     function Get_LastUpdated: OleVariant; safecall;
  1556.     function Get_AllPermissions: Integer; safecall;
  1557.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; safecall;
  1558.     property Name: WideString read Get_Name;
  1559.     property Owner: WideString read Get_Owner write Set_Owner;
  1560.     property Container: WideString read Get_Container;
  1561.     property UserName: WideString read Get_UserName write Set_UserName;
  1562.     property Permissions: Integer read Get_Permissions write Set_Permissions;
  1563.     property DateCreated: OleVariant read Get_DateCreated;
  1564.     property LastUpdated: OleVariant read Get_LastUpdated;
  1565.     property AllPermissions: Integer read Get_AllPermissions;
  1566.   end;
  1567.  
  1568. { DispInterface declaration for Dual Interface Document }
  1569.  
  1570.   DocumentDisp = dispinterface
  1571.     ['{00000099-0000-0010-8000-00AA006D2EA4}']
  1572.     property Name: WideString readonly dispid 1610809344;
  1573.     property Owner: WideString dispid 1610809345;
  1574.     property Container: WideString readonly dispid 1610809347;
  1575.     property UserName: WideString dispid 1610809348;
  1576.     property Permissions: Integer dispid 1610809350;
  1577.     property DateCreated: OleVariant readonly dispid 1610809352;
  1578.     property LastUpdated: OleVariant readonly dispid 1610809353;
  1579.     property AllPermissions: Integer readonly dispid 1610809354;
  1580.     function CreateProperty(Name, Type_, Value, DDL: OleVariant): Property_; dispid 1610809355;
  1581.   end;
  1582.  
  1583.   Users = interface(_DynaCollection)
  1584.     ['{0000006B-0000-0010-8000-00AA006D2EA4}']
  1585.     function Get_Item(Item: OleVariant): User; safecall;
  1586.     property Item[Item: OleVariant]: User read Get_Item; default;
  1587.   end;
  1588.  
  1589. { DispInterface declaration for Dual Interface Users }
  1590.  
  1591.   UsersDisp = dispinterface
  1592.     ['{0000006B-0000-0010-8000-00AA006D2EA4}']
  1593.     property Item[Item: OleVariant]: User readonly dispid 0; default;
  1594.   end;
  1595.  
  1596.   _User = interface(_DAO)
  1597.     ['{00000069-0000-0010-8000-00AA006D2EA4}']
  1598.     function Get_Name: WideString; safecall;
  1599.     procedure Set_Name(const Value: WideString); safecall;
  1600.     procedure Set_PID(const Value: WideString); safecall;
  1601.     procedure Set_Password(const Value: WideString); safecall;
  1602.     function Get_Groups: Groups; safecall;
  1603.     procedure NewPassword(const bstrOld, bstrNew: WideString); safecall;
  1604.     function CreateGroup(Name, PID: OleVariant): Group; safecall;
  1605.     property Name: WideString read Get_Name write Set_Name;
  1606.     property PID: WideString write Set_PID;
  1607.     property Password: WideString write Set_Password;
  1608.     property Groups: Groups read Get_Groups;
  1609.   end;
  1610.  
  1611. { DispInterface declaration for Dual Interface _User }
  1612.  
  1613.   _UserDisp = dispinterface
  1614.     ['{00000069-0000-0010-8000-00AA006D2EA4}']
  1615.     property Name: WideString dispid 1610809344;
  1616.     property PID: WideString writeonly dispid 1610809346;
  1617.     property Password: WideString writeonly dispid 1610809347;
  1618.     property Groups: Groups readonly dispid 0;
  1619.     procedure NewPassword(const bstrOld, bstrNew: WideString); dispid 1610809349;
  1620.     function CreateGroup(Name, PID: OleVariant): Group; dispid 1610809350;
  1621.   end;
  1622.  
  1623.   Groups = interface(_DynaCollection)
  1624.     ['{00000063-0000-0010-8000-00AA006D2EA4}']
  1625.     function Get_Item(Item: OleVariant): Group; safecall;
  1626.     property Item[Item: OleVariant]: Group read Get_Item; default;
  1627.   end;
  1628.  
  1629. { DispInterface declaration for Dual Interface Groups }
  1630.  
  1631.   GroupsDisp = dispinterface
  1632.     ['{00000063-0000-0010-8000-00AA006D2EA4}']
  1633.     property Item[Item: OleVariant]: Group readonly dispid 0; default;
  1634.   end;
  1635.  
  1636.   _Group = interface(_DAO)
  1637.     ['{00000061-0000-0010-8000-00AA006D2EA4}']
  1638.     function Get_Name: WideString; safecall;
  1639.     procedure Set_Name(const Value: WideString); safecall;
  1640.     procedure Set_PID(const Value: WideString); safecall;
  1641.     function Get_Users: Users; safecall;
  1642.     function CreateUser(Name, PID, Password: OleVariant): User; safecall;
  1643.     property Name: WideString read Get_Name write Set_Name;
  1644.     property PID: WideString write Set_PID;
  1645.     property Users: Users read Get_Users;
  1646.   end;
  1647.  
  1648. { DispInterface declaration for Dual Interface _Group }
  1649.  
  1650.   _GroupDisp = dispinterface
  1651.     ['{00000061-0000-0010-8000-00AA006D2EA4}']
  1652.     property Name: WideString dispid 1610809344;
  1653.     property PID: WideString writeonly dispid 1610809346;
  1654.     property Users: Users readonly dispid 0;
  1655.     function CreateUser(Name, PID, Password: OleVariant): User; dispid 1610809348;
  1656.   end;
  1657.  
  1658.   Connections = interface(_Collection)
  1659.     ['{00000043-0000-0010-8000-00AA006D2EA4}']
  1660.     function Get_Item(Item: OleVariant): Connection; safecall;
  1661.     property Item[Item: OleVariant]: Connection read Get_Item; default;
  1662.   end;
  1663.  
  1664. { DispInterface declaration for Dual Interface Connections }
  1665.  
  1666.   ConnectionsDisp = dispinterface
  1667.     ['{00000043-0000-0010-8000-00AA006D2EA4}']
  1668.     property Item[Item: OleVariant]: Connection readonly dispid 0; default;
  1669.   end;
  1670.  
  1671.   Errors = interface(_Collection)
  1672.     ['{00000025-0000-0010-8000-00AA006D2EA4}']
  1673.     function Get_Item(Item: OleVariant): Error; safecall;
  1674.     property Item[Item: OleVariant]: Error read Get_Item; default;
  1675.   end;
  1676.  
  1677. { DispInterface declaration for Dual Interface Errors }
  1678.  
  1679.   ErrorsDisp = dispinterface
  1680.     ['{00000025-0000-0010-8000-00AA006D2EA4}']
  1681.     property Item[Item: OleVariant]: Error readonly dispid 0; default;
  1682.   end;
  1683.  
  1684.   Error = interface(IDispatch)
  1685.     ['{00000023-0000-0010-8000-00AA006D2EA4}']
  1686.     function Get_Number: Integer; safecall;
  1687.     function Get_Source: WideString; safecall;
  1688.     function Get_Description: WideString; safecall;
  1689.     function Get_HelpFile: WideString; safecall;
  1690.     function Get_HelpContext: Integer; safecall;
  1691.     property Number: Integer read Get_Number;
  1692.     property Source: WideString read Get_Source;
  1693.     property Description: WideString read Get_Description;
  1694.     property HelpFile: WideString read Get_HelpFile;
  1695.     property HelpContext: Integer read Get_HelpContext;
  1696.   end;
  1697.  
  1698. { DispInterface declaration for Dual Interface Error }
  1699.  
  1700.   ErrorDisp = dispinterface
  1701.     ['{00000023-0000-0010-8000-00AA006D2EA4}']
  1702.     property Number: Integer readonly dispid 1610743808;
  1703.     property Source: WideString readonly dispid 1610743809;
  1704.     property Description: WideString readonly dispid 0;
  1705.     property HelpFile: WideString readonly dispid 1610743811;
  1706.     property HelpContext: Integer readonly dispid 1610743812;
  1707.   end;
  1708.  
  1709.   IndexFields = interface(_DynaCollection)
  1710.     ['{0000005D-0000-0010-8000-00AA006D2EA4}']
  1711.     function Get_Item(Item: OleVariant): OleVariant; safecall;
  1712.     property Item[Item: OleVariant]: OleVariant read Get_Item; default;
  1713.   end;
  1714.  
  1715. { DispInterface declaration for Dual Interface IndexFields }
  1716.  
  1717.   IndexFieldsDisp = dispinterface
  1718.     ['{0000005D-0000-0010-8000-00AA006D2EA4}']
  1719.     property Item[Item: OleVariant]: OleVariant readonly dispid 0; default;
  1720.   end;
  1721.  
  1722.   CoTableDef = class
  1723.     class function Create: _TableDef;
  1724.     class function CreateRemote(const MachineName: string): _TableDef;
  1725.   end;
  1726.  
  1727.   CoField = class
  1728.     class function Create: _Field;
  1729.     class function CreateRemote(const MachineName: string): _Field;
  1730.   end;
  1731.  
  1732.   CoIndex = class
  1733.     class function Create: _Index;
  1734.     class function CreateRemote(const MachineName: string): _Index;
  1735.   end;
  1736.  
  1737.   CoQueryDef = class
  1738.     class function Create: _QueryDef;
  1739.     class function CreateRemote(const MachineName: string): _QueryDef;
  1740.   end;
  1741.  
  1742.   CoRelation = class
  1743.     class function Create: _Relation;
  1744.     class function CreateRemote(const MachineName: string): _Relation;
  1745.   end;
  1746.  
  1747.   CoUser = class
  1748.     class function Create: _User;
  1749.     class function CreateRemote(const MachineName: string): _User;
  1750.   end;
  1751.  
  1752.   CoGroup = class
  1753.     class function Create: _Group;
  1754.     class function CreateRemote(const MachineName: string): _Group;
  1755.   end;
  1756.  
  1757.   CoDBEngine = class
  1758.     class function Create: _DBEngine;
  1759.     class function CreateRemote(const MachineName: string): _DBEngine;
  1760.   end;
  1761.  
  1762. { DAO 3.0 DBEngine (private) }
  1763.  
  1764.   CoPrivDBEngine = class
  1765.     class function Create: _DBEngine;
  1766.     class function CreateRemote(const MachineName: string): _DBEngine;
  1767.   end;
  1768.  
  1769.  
  1770.  
  1771. implementation
  1772.  
  1773. uses ComObj;
  1774.  
  1775. class function CoTableDef.Create: _TableDef;
  1776. begin
  1777.   Result := CreateComObject(Class_TableDef) as _TableDef;
  1778. end;
  1779.  
  1780. class function CoTableDef.CreateRemote(const MachineName: string): _TableDef;
  1781. begin
  1782.   Result := CreateRemoteComObject(MachineName, Class_TableDef) as _TableDef;
  1783. end;
  1784.  
  1785. class function CoField.Create: _Field;
  1786. begin
  1787.   Result := CreateComObject(Class_Field) as _Field;
  1788. end;
  1789.  
  1790. class function CoField.CreateRemote(const MachineName: string): _Field;
  1791. begin
  1792.   Result := CreateRemoteComObject(MachineName, Class_Field) as _Field;
  1793. end;
  1794.  
  1795. class function CoIndex.Create: _Index;
  1796. begin
  1797.   Result := CreateComObject(Class_Index) as _Index;
  1798. end;
  1799.  
  1800. class function CoIndex.CreateRemote(const MachineName: string): _Index;
  1801. begin
  1802.   Result := CreateRemoteComObject(MachineName, Class_Index) as _Index;
  1803. end;
  1804.  
  1805. class function CoQueryDef.Create: _QueryDef;
  1806. begin
  1807.   Result := CreateComObject(Class_QueryDef) as _QueryDef;
  1808. end;
  1809.  
  1810. class function CoQueryDef.CreateRemote(const MachineName: string): _QueryDef;
  1811. begin
  1812.   Result := CreateRemoteComObject(MachineName, Class_QueryDef) as _QueryDef;
  1813. end;
  1814.  
  1815. class function CoRelation.Create: _Relation;
  1816. begin
  1817.   Result := CreateComObject(Class_Relation) as _Relation;
  1818. end;
  1819.  
  1820. class function CoRelation.CreateRemote(const MachineName: string): _Relation;
  1821. begin
  1822.   Result := CreateRemoteComObject(MachineName, Class_Relation) as _Relation;
  1823. end;
  1824.  
  1825. class function CoUser.Create: _User;
  1826. begin
  1827.   Result := CreateComObject(Class_User) as _User;
  1828. end;
  1829.  
  1830. class function CoUser.CreateRemote(const MachineName: string): _User;
  1831. begin
  1832.   Result := CreateRemoteComObject(MachineName, Class_User) as _User;
  1833. end;
  1834.  
  1835. class function CoGroup.Create: _Group;
  1836. begin
  1837.   Result := CreateComObject(Class_Group) as _Group;
  1838. end;
  1839.  
  1840. class function CoGroup.CreateRemote(const MachineName: string): _Group;
  1841. begin
  1842.   Result := CreateRemoteComObject(MachineName, Class_Group) as _Group;
  1843. end;
  1844.  
  1845. class function CoDBEngine.Create: _DBEngine;
  1846. begin
  1847.   Result := CreateComObject(Class_DBEngine) as _DBEngine;
  1848. end;
  1849.  
  1850. class function CoDBEngine.CreateRemote(const MachineName: string): _DBEngine;
  1851. begin
  1852.   Result := CreateRemoteComObject(MachineName, Class_DBEngine) as _DBEngine;
  1853. end;
  1854.  
  1855. class function CoPrivDBEngine.Create: _DBEngine;
  1856. begin
  1857.   Result := CreateComObject(Class_PrivDBEngine) as _DBEngine;
  1858. end;
  1859.  
  1860. class function CoPrivDBEngine.CreateRemote(const MachineName: string): _DBEngine;
  1861. begin
  1862.   Result := CreateRemoteComObject(MachineName, Class_PrivDBEngine) as _DBEngine;
  1863. end;
  1864.  
  1865.  
  1866. end.
  1867.