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

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Borland Delphi Visual Component Library         }
  5. {       Standard VCL OLE Interfaces                     }
  6. {                                                       }
  7. {       Copyright (c) 1997,99 Inprise Corporation       }
  8. {                                                       }
  9. {*******************************************************}
  10.  
  11. unit StdVCL;
  12.  
  13. { Borland standard VCL type library }
  14. { Version 1.0 }
  15.  
  16. { Bring in definition of IDispatch which is used here }
  17.  
  18. (*$HPPEMIT '// The following was extracted from OAIDL.H and brought in here to avoid bringing'*)
  19. (*$HPPEMIT '// in OAIDL.H itself. It was conveniently guarded in the said header, which makes'*)
  20. (*$HPPEMIT '// it ideal to be plucked out and replicated.'*)
  21. (*$HPPEMIT '// '*)
  22. (*$HPPEMIT '#ifndef __IDispatch_INTERFACE_DEFINED__'*)
  23. (*$HPPEMIT '#define __IDispatch_INTERFACE_DEFINED__'*)
  24. (*$HPPEMIT ''*)
  25. (*$HPPEMIT '// Forward ref. OLE structures'*)
  26. (*$HPPEMIT 'struct    tagDISPPARAMS;'*)
  27. (*$HPPEMIT 'struct    tagEXCEPINFO;'*)
  28. (*$HPPEMIT ''*)
  29. (*$HPPEMIT '// OAIDL.H would have declared DISPID as a typedef of a LONG but we don't '*)
  30. (*$HPPEMIT '// assume it has been included. Hence, we use a macro'*)
  31. (*$HPPEMIT '//'*)
  32. (*$HPPEMIT '#define DISPID LONG'*)
  33. (*$HPPEMIT ''*)
  34. (*$HPPEMIT '/****************************************'*)
  35. (*$HPPEMIT ' * Generated header for interface: IDispatch'*)
  36. (*$HPPEMIT ' * at Sat Jul 13 21:56:52 1996'*)
  37. (*$HPPEMIT ' * using MIDL 3.00.39'*)
  38. (*$HPPEMIT ' ****************************************/'*)
  39. (*$HPPEMIT '/* [unique][uuid][object] */ '*)
  40. (*$HPPEMIT ''*)
  41. (*$HPPEMIT ''*)
  42. (*$HPPEMIT 'typedef /* [unique] */ IDispatch __RPC_FAR *LPDISPATCH;'*)
  43. (*$HPPEMIT ''*)
  44. (*$HPPEMIT '/* DISPID reserved to indicate an "unknown" name */'*)
  45. (*$HPPEMIT '/* only reserved for data members (properties); reused as a method dispid below */'*)
  46. (*$HPPEMIT '#define DISPID_UNKNOWN  ( -1 )'*)
  47. (*$HPPEMIT ''*)
  48. (*$HPPEMIT '/* DISPID reserved for the "value" property */'*)
  49. (*$HPPEMIT '#define DISPID_VALUE  ( 0 )'*)
  50. (*$HPPEMIT ''*)
  51. (*$HPPEMIT '/* The following DISPID is reserved to indicate the param'*)
  52. (*$HPPEMIT ' * that is the right-hand-side (or "put" value) of a PropertyPut'*)
  53. (*$HPPEMIT ' */'*)
  54. (*$HPPEMIT '#define DISPID_PROPERTYPUT  ( -3 )'*)
  55. (*$HPPEMIT ''*)
  56. (*$HPPEMIT '/* DISPID reserved for the standard "NewEnum" method */'*)
  57. (*$HPPEMIT '#define DISPID_NEWENUM  ( -4 )'*)
  58. (*$HPPEMIT ''*)
  59. (*$HPPEMIT '/* DISPID reserved for the standard "Evaluate" method */'*)
  60. (*$HPPEMIT '#define DISPID_EVALUATE ( -5 )'*)
  61. (*$HPPEMIT ''*)
  62. (*$HPPEMIT '#define DISPID_CONSTRUCTOR  ( -6 )'*)
  63. (*$HPPEMIT ''*)
  64. (*$HPPEMIT '#define DISPID_DESTRUCTOR ( -7 )'*)
  65. (*$HPPEMIT ''*)
  66. (*$HPPEMIT '#define DISPID_COLLECT  ( -8 )'*)
  67. (*$HPPEMIT ''*)
  68. (*$HPPEMIT '/* The range -500 through -999 is reserved for Controls */'*)
  69. (*$HPPEMIT '/* The range 0x80010000 through 0x8001FFFF is reserved for Controls */'*)
  70. (*$HPPEMIT '/* The range -5000 through -5499 is reserved for ActiveX Accessability */'*)
  71. (*$HPPEMIT '/* The remainder of the negative DISPIDs are reserved for future use */'*)
  72. (*$HPPEMIT ''*)
  73. (*$HPPEMIT 'EXTERN_C const IID IID_IDispatch;'*)
  74. (*$HPPEMIT ''*)
  75. (*$HPPEMIT '    '*)
  76. (*$HPPEMIT '    interface IDispatch : public IUnknown'*)
  77. (*$HPPEMIT '    {'*)
  78. (*$HPPEMIT '    public:'*)
  79. (*$HPPEMIT '        virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount( '*)
  80. (*$HPPEMIT '            /* [out] */ UINT __RPC_FAR *pctinfo) = 0;'*)
  81. (*$HPPEMIT '        '*)
  82. (*$HPPEMIT '        virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( '*)
  83. (*$HPPEMIT '            /* [in] */ UINT iTInfo,'*)
  84. (*$HPPEMIT '            /* [in] */ LCID lcid,'*)
  85. (*$HPPEMIT '            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo) = 0;'*)
  86. (*$HPPEMIT '        '*)
  87. (*$HPPEMIT '        virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( '*)
  88. (*$HPPEMIT '            /* [in] */ REFIID riid,'*)
  89. (*$HPPEMIT '            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,'*)
  90. (*$HPPEMIT '            /* [in] */ UINT cNames,'*)
  91. (*$HPPEMIT '            /* [in] */ LCID lcid,'*)
  92. (*$HPPEMIT '            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId) = 0;'*)
  93. (*$HPPEMIT '        '*)
  94. (*$HPPEMIT '        virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke( '*)
  95. (*$HPPEMIT '            /* [in] */ DISPID dispIdMember,'*)
  96. (*$HPPEMIT '            /* [in] */ REFIID riid,'*)
  97. (*$HPPEMIT '            /* [in] */ LCID lcid,'*)
  98. (*$HPPEMIT '            /* [in] */ WORD wFlags,'*)
  99. (*$HPPEMIT '            /* [out][in] */ tagDISPPARAMS __RPC_FAR *pDispParams,'*)
  100. (*$HPPEMIT '            /* [out] */ tagVARIANT __RPC_FAR *pVarResult,'*)
  101. (*$HPPEMIT '            /* [out] */ tagEXCEPINFO __RPC_FAR *pExcepInfo,'*)
  102. (*$HPPEMIT '            /* [out] */ UINT __RPC_FAR *puArgErr) = 0;'*)
  103. (*$HPPEMIT '    };'*)
  104. (*$HPPEMIT '    '*)
  105. (*$HPPEMIT ''*)
  106. (*$HPPEMIT 'HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfoCount_Proxy( '*)
  107. (*$HPPEMIT '    IDispatch __RPC_FAR * This,'*)
  108. (*$HPPEMIT '    /* [out] */ UINT __RPC_FAR *pctinfo);'*)
  109. (*$HPPEMIT ''*)
  110. (*$HPPEMIT 'void __RPC_STUB IDispatch_GetTypeInfoCount_Stub('*)
  111. (*$HPPEMIT '    IRpcStubBuffer *This,'*)
  112. (*$HPPEMIT '    IRpcChannelBuffer *_pRpcChannelBuffer,'*)
  113. (*$HPPEMIT '    PRPC_MESSAGE _pRpcMessage,'*)
  114. (*$HPPEMIT '    DWORD *_pdwStubPhase);'*)
  115. (*$HPPEMIT ''*)
  116. (*$HPPEMIT 'HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfo_Proxy( '*)
  117. (*$HPPEMIT '    IDispatch __RPC_FAR * This,'*)
  118. (*$HPPEMIT '    /* [in] */ UINT iTInfo,'*)
  119. (*$HPPEMIT '    /* [in] */ LCID lcid,'*)
  120. (*$HPPEMIT '    /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);'*)
  121. (*$HPPEMIT ''*)
  122. (*$HPPEMIT 'void __RPC_STUB IDispatch_GetTypeInfo_Stub('*)
  123. (*$HPPEMIT '    IRpcStubBuffer *This,'*)
  124. (*$HPPEMIT '    IRpcChannelBuffer *_pRpcChannelBuffer,'*)
  125. (*$HPPEMIT '    PRPC_MESSAGE _pRpcMessage,'*)
  126. (*$HPPEMIT '    DWORD *_pdwStubPhase);'*)
  127. (*$HPPEMIT ''*)
  128. (*$HPPEMIT 'HRESULT STDMETHODCALLTYPE IDispatch_GetIDsOfNames_Proxy( '*)
  129. (*$HPPEMIT '    IDispatch __RPC_FAR * This,'*)
  130. (*$HPPEMIT '    /* [in] */ REFIID riid,'*)
  131. (*$HPPEMIT '    /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,'*)
  132. (*$HPPEMIT '    /* [in] */ UINT cNames,'*)
  133. (*$HPPEMIT '    /* [in] */ LCID lcid,'*)
  134. (*$HPPEMIT '    /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);'*)
  135. (*$HPPEMIT ''*)
  136. (*$HPPEMIT 'void __RPC_STUB IDispatch_GetIDsOfNames_Stub('*)
  137. (*$HPPEMIT '    IRpcStubBuffer *This,'*)
  138. (*$HPPEMIT '    IRpcChannelBuffer *_pRpcChannelBuffer,'*)
  139. (*$HPPEMIT '    PRPC_MESSAGE _pRpcMessage,'*)
  140. (*$HPPEMIT '    DWORD *_pdwStubPhase);'*)
  141. (*$HPPEMIT ''*)
  142. (*$HPPEMIT '/* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatch_RemoteInvoke_Proxy( '*)
  143. (*$HPPEMIT '    IDispatch __RPC_FAR * This,'*)
  144. (*$HPPEMIT '    /* [in] */ DISPID dispIdMember,'*)
  145. (*$HPPEMIT '    /* [in] */ REFIID riid,'*)
  146. (*$HPPEMIT '    /* [in] */ LCID lcid,'*)
  147. (*$HPPEMIT '    /* [in] */ DWORD dwFlags,'*)
  148. (*$HPPEMIT '    /* [in] */ tagDISPPARAMS __RPC_FAR *pDispParams,'*)
  149. (*$HPPEMIT '    /* [out] */ tagVARIANT __RPC_FAR *pVarResult,'*)
  150. (*$HPPEMIT '    /* [out] */ tagEXCEPINFO __RPC_FAR *pExcepInfo,'*)
  151. (*$HPPEMIT '    /* [out] */ UINT __RPC_FAR *pArgErr,'*)
  152. (*$HPPEMIT '    /* [in] */ UINT cVarRef,'*)
  153. (*$HPPEMIT '    /* [size_is][in] */ UINT __RPC_FAR *rgVarRefIdx,'*)
  154. (*$HPPEMIT '    /* [size_is][out][in] */ tagVARIANT __RPC_FAR *rgVarRef);'*)
  155. (*$HPPEMIT ''*)
  156. (*$HPPEMIT ''*)
  157. (*$HPPEMIT 'void __RPC_STUB IDispatch_RemoteInvoke_Stub('*)
  158. (*$HPPEMIT '    IRpcStubBuffer *This,'*)
  159. (*$HPPEMIT '    IRpcChannelBuffer *_pRpcChannelBuffer,'*)
  160. (*$HPPEMIT '    PRPC_MESSAGE _pRpcMessage,'*)
  161. (*$HPPEMIT '    DWORD *_pdwStubPhase);'*)
  162. (*$HPPEMIT ''*)
  163. (*$HPPEMIT '// Remove DISPID macro defined if OAIDL was not included'*)
  164. (*$HPPEMIT '//'*)
  165. (*$HPPEMIT '#if defined(DISPID)'*)
  166. (*$HPPEMIT '#undef DISPID'*)
  167. (*$HPPEMIT '#endif'*)
  168. (*$HPPEMIT ''*)
  169. (*$HPPEMIT '#endif  /* __IDispatch_INTERFACE_DEFINED__ */'*)
  170. (*$HPPEMIT ''*)
  171.  
  172.  
  173. interface
  174.  
  175. const
  176.   LIBID_StdVCL: TGUID = '{EE05DFE0-5549-11D0-9EA9-0020AF3D82DA}';
  177.   IID_IProvider: TGUID = '{6E644935-51F7-11D0-8D41-00A0248E4B9A}';
  178.   IID_IStrings: TGUID = '{EE05DFE2-5549-11D0-9EA9-0020AF3D82DA}';
  179.   IID_IDataBroker: TGUID = '{6539BF65-6FE7-11D0-9E8C-00A02457621F}';
  180.  
  181. type
  182.  
  183. { Forward declarations }
  184. { Forward declarations: Interfaces }
  185.   IProvider = interface;
  186.   IProviderDisp = dispinterface;
  187.   IStrings = interface;
  188.   IStringsDisp = dispinterface;
  189.   IDataBroker = interface;
  190.   IDataBrokerDisp = dispinterface;
  191.  
  192. { Provider interface for TClientDataSet }
  193.  
  194.   IProvider = interface(IDispatch)
  195.     ['{6E644935-51F7-11D0-8D41-00A0248E4B9A}']
  196.     function Get_Data: OleVariant; safecall;
  197.     function ApplyUpdates(Delta: OleVariant; MaxErrors: Integer; out ErrorCount: Integer): OleVariant; safecall;
  198.     function GetMetaData: OleVariant; safecall;
  199.     function GetRecords(Count: Integer; out RecsOut: Integer): OleVariant; safecall;
  200.     function DataRequest(Input: OleVariant): OleVariant; safecall;
  201.     function Get_Constraints: WordBool; safecall;
  202.     procedure Set_Constraints(Value: WordBool); safecall;
  203.     procedure Reset(MetaData: WordBool); safecall;
  204.     procedure SetParams(Values: OleVariant); safecall;
  205.     property Data: OleVariant read Get_Data;
  206.     property Constraints: WordBool read Get_Constraints write Set_Constraints;
  207.   end;
  208.  
  209. { DispInterface declaration for Dual Interface IProvider }
  210.  
  211.   IProviderDisp = dispinterface
  212.     ['{6E644935-51F7-11D0-8D41-00A0248E4B9A}']
  213.     property Data: OleVariant readonly dispid 1;
  214.     function ApplyUpdates(Delta: OleVariant; MaxErrors: Integer; out ErrorCount: Integer): OleVariant; dispid 2;
  215.     function GetMetaData: OleVariant; dispid 3;
  216.     function GetRecords(Count: Integer; out RecsOut: Integer): OleVariant; dispid 4;
  217.     function DataRequest(Input: OleVariant): OleVariant; dispid 5;
  218.     property Constraints: WordBool dispid 6;
  219.     procedure Reset(MetaData: WordBool); dispid 7;
  220.     procedure SetParams(Values: OleVariant); dispid 8;
  221.   end;
  222.  
  223. { Collection Interface for TStrings }
  224.  
  225.   IStrings = interface(IDispatch)
  226.     ['{EE05DFE2-5549-11D0-9EA9-0020AF3D82DA}']
  227.     function Get_ControlDefault(Index: Integer): OleVariant; safecall;
  228.     procedure Set_ControlDefault(Index: Integer; Value: OleVariant); safecall;
  229.     function Count: Integer; safecall;
  230.     function Get_Item(Index: Integer): OleVariant; safecall;
  231.     procedure Set_Item(Index: Integer; Value: OleVariant); safecall;
  232.     procedure Remove(Index: Integer); safecall;
  233.     procedure Clear; safecall;
  234.     function Add(Item: OleVariant): Integer; safecall;
  235.     function _NewEnum: IUnknown; safecall;
  236.     property ControlDefault[Index: Integer]: OleVariant read Get_ControlDefault write Set_ControlDefault; default;
  237.     property Item[Index: Integer]: OleVariant read Get_Item write Set_Item;
  238.   end;
  239.  
  240. { DispInterface declaration for Dual Interface IStrings }
  241.  
  242.   IStringsDisp = dispinterface
  243.     ['{EE05DFE2-5549-11D0-9EA9-0020AF3D82DA}']
  244.     property ControlDefault[Index: Integer]: OleVariant dispid 0; default;
  245.     function Count: Integer; dispid 1;
  246.     property Item[Index: Integer]: OleVariant dispid 2;
  247.     procedure Remove(Index: Integer); dispid 3;
  248.     procedure Clear; dispid 4;
  249.     function Add(Item: OleVariant): Integer; dispid 5;
  250.     function _NewEnum: IUnknown; dispid -4;
  251.   end;
  252.  
  253. { Design-time interface for remote data modules }
  254.  
  255.   IDataBroker = interface(IDispatch)
  256.     ['{6539BF65-6FE7-11D0-9E8C-00A02457621F}']
  257.     function GetProviderNames: OleVariant; safecall;
  258.   end;
  259.  
  260. { DispInterface declaration for Dual Interface IDataBroker }
  261.  
  262.   IDataBrokerDisp = dispinterface
  263.     ['{6539BF65-6FE7-11D0-9E8C-00A02457621F}']
  264.     function GetProviderNames: OleVariant; dispid 22929905;
  265.   end;
  266.  
  267. implementation
  268.  
  269.  
  270. end.
  271.