home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / OLEAUTO.HPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  12KB  |  281 lines

  1. //----------------------------------------------------------------------------
  2. // OleAuto.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: OleAuto.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef OleAutoHPP
  6. #define OleAutoHPP
  7. //----------------------------------------------------------------------------
  8. #include <SysUtils.hpp>
  9. #include <OleCtl.hpp>
  10. #include <OLE2.hpp>
  11. #include <Windows.hpp>
  12. #include <System.hpp>
  13. #pragma warn -par
  14. #pragma warn -hid 
  15. #pragma warn -inl
  16.  
  17. namespace Oleauto
  18. {
  19. //-- type declarations -------------------------------------------------------
  20. class __declspec(delphiclass) TAutoDispatch;
  21. class __declspec(delphiclass) TAutoObject;
  22. class __declspec(pascalimplementation) TAutoObject : public System::TObject
  23. {
  24.     typedef System::TObject inherited;
  25.     
  26. private:
  27.     int FRefCount;
  28.     TAutoDispatch* FAutoDispatch;
  29.     long __fastcall GetIDsOfNames(Ole2::POleStrList Names, int Count, Ole2::PDispIDList DispIDs);
  30.     System::Variant __fastcall GetOleObject(void);
  31.     long __fastcall Invoke(long DispID, int Flags, DISPPARAMS &Params, System::PVariant VarResult, Ole2::PExcepInfo 
  32.         ExcepInfo, Windows::PInteger ArgErr);
  33.     void __fastcall InvokeMethod(void * AutoEntry, void * Args, void * Result);
  34.     long __fastcall QueryInterface(const GUID &iid, void *obj);
  35.     
  36. protected:
  37.     virtual TAutoDispatch* __fastcall CreateAutoDispatch(void);
  38.     virtual void __fastcall GetExceptionInfo(System::TObject* ExceptObject, EXCEPINFO &ExcepInfo);
  39.     
  40. public:
  41.     __fastcall virtual TAutoObject(void);
  42.     __fastcall virtual ~TAutoObject(void);
  43.     int __fastcall AddRef(void);
  44.     int __fastcall Release(void);
  45.     __property TAutoDispatch* AutoDispatch = {read=FAutoDispatch, nodefault};
  46.     __property System::Variant OleObject = {read=GetOleObject};
  47.     __property int RefCount = {read=FRefCount, nodefault};
  48. };
  49.  
  50. class __declspec(pascalimplementation) TAutoDispatch : public Ole2::IDispatch
  51. {
  52.     typedef Ole2::IDispatch inherited;
  53.     
  54. private:
  55.     TAutoObject* FAutoObject;
  56.     
  57. public:
  58.     __fastcall TAutoDispatch(TAutoObject* AutoObject);
  59.     virtual long __stdcall QueryInterface(const GUID &iid, void *obj);
  60.     virtual long __stdcall AddRef(void);
  61.     virtual long __stdcall Release(void);
  62.     virtual long __stdcall GetTypeInfoCount(int &ctinfo);
  63.     virtual long __stdcall GetTypeInfo(int itinfo, long lcid, Ole2::ITypeInfo* &tinfo);
  64.     virtual long __stdcall GetIDsOfNames(const GUID &iid, Ole2::POleStrList rgszNames, int cNames, long 
  65.         lcid, Ole2::PDispIDList rgdispid);
  66.     virtual long __stdcall Invoke(long dispIDMember, const GUID &iid, long lcid, Word flags, DISPPARAMS 
  67.         &dispParams, System::PVariant varResult, Ole2::PExcepInfo excepInfo, Windows::PInteger argErr);
  68.     virtual TAutoObject* __stdcall GetAutoObject(void);
  69.     __property TAutoObject* AutoObject = {read=FAutoObject, nodefault};
  70. public:
  71.     /* TObject.Destroy */ __fastcall virtual ~TAutoDispatch(void) { }
  72.     
  73. };
  74.  
  75. typedef System::TMetaClass*TAutoClass;
  76.  
  77. enum TAutoClassInstancing { acInternal, acSingleInstance, acMultiInstance };
  78.  
  79. struct TAutoClassInfo
  80. {
  81.     System::TMetaClass*AutoClass;
  82.     System::AnsiString ProgID;
  83.     System::AnsiString ClassID;
  84.     System::AnsiString Description;
  85.     TAutoClassInstancing Instancing;
  86. } ;
  87.  
  88. class __declspec(delphiclass) TRegistryClass;
  89. class __declspec(pascalimplementation) TRegistryClass : public System::TObject
  90. {
  91.     typedef System::TObject inherited;
  92.     
  93. private:
  94.     TRegistryClass* FNext;
  95.     System::TMetaClass*FAutoClass;
  96.     System::AnsiString FProgID;
  97.     GUID FClassID;
  98.     System::AnsiString FDescription;
  99.     TAutoClassInstancing FInstancing;
  100.     long FRegister;
  101.     
  102. public:
  103.     __fastcall TRegistryClass(const TAutoClassInfo &AutoClassInfo);
  104.     __fastcall virtual ~TRegistryClass(void);
  105.     void __fastcall UpdateRegistry(bool Register);
  106. };
  107.  
  108. enum TStartMode { smStandalone, smAutomation, smRegServer, smUnregServer };
  109.  
  110. typedef void __fastcall (__closure *TLastReleaseEvent)(bool &Shutdown);
  111.  
  112. class __declspec(delphiclass) TAutomation;
  113. class __declspec(pascalimplementation) TAutomation : public System::TObject
  114. {
  115.     typedef System::TObject inherited;
  116.     
  117. private:
  118.     TRegistryClass* FRegistryList;
  119.     int FAutoObjectCount;
  120.     int FClassFactoryCount;
  121.     void *FSaveInitProc;
  122.     bool FIsInprocServer;
  123.     TStartMode FStartMode;
  124.     TLastReleaseEvent FOnLastRelease;
  125.     void __fastcall CountAutoObject(bool Created);
  126.     void __fastcall Initialize(void);
  127.     void __fastcall LastReleased(void);
  128.     
  129. public:
  130.     __fastcall TAutomation(void);
  131.     __fastcall virtual ~TAutomation(void);
  132.     void __fastcall RegisterClass(const TAutoClassInfo &AutoClassInfo);
  133.     void __fastcall UpdateRegistry(bool Register);
  134.     __property int AutoObjectCount = {read=FAutoObjectCount, nodefault};
  135.     __property bool IsInprocServer = {read=FIsInprocServer, write=FIsInprocServer, nodefault};
  136.     __property TStartMode StartMode = {read=FStartMode, nodefault};
  137.     __property TLastReleaseEvent OnLastRelease = {read=FOnLastRelease, write=FOnLastRelease};
  138. };
  139.  
  140. class __declspec(delphiclass) EOleError;
  141. class __declspec(pascalimplementation) EOleError : public Sysutils::Exception
  142. {
  143.     typedef Sysutils::Exception inherited;
  144.     
  145. public:
  146.     /* Exception.Create */ __fastcall EOleError(const System::AnsiString Msg) : Sysutils::Exception(Msg
  147.         ) { }
  148.     /* Exception.CreateFmt */ __fastcall EOleError(const System::AnsiString Msg, const System::TVarRec 
  149.         * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
  150.     /* Exception.CreateRes */ __fastcall EOleError(int Ident) : Sysutils::Exception(Ident) { }
  151.     /* Exception.CreateResFmt */ __fastcall EOleError(int Ident, const System::TVarRec * Args, const int 
  152.         Args_Size) : Sysutils::Exception(Ident, Args, Args_Size) { }
  153.     /* Exception.CreateHelp */ __fastcall EOleError(const System::AnsiString Msg, int AHelpContext) : Sysutils::
  154.         Exception(Msg, AHelpContext) { }
  155.     /* Exception.CreateFmtHelp */ __fastcall EOleError(const System::AnsiString Msg, const System::TVarRec 
  156.         * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext
  157.         ) { }
  158.     /* Exception.CreateResHelp */ __fastcall EOleError(int Ident, int AHelpContext) : Sysutils::Exception(
  159.         Ident, AHelpContext) { }
  160.     /* Exception.CreateResFmtHelp */ __fastcall EOleError(int Ident, const System::TVarRec * Args, const 
  161.         int Args_Size, int AHelpContext) : Sysutils::Exception(Ident, Args, Args_Size, AHelpContext) { }
  162.     
  163. public:
  164.     /* TObject.Destroy */ __fastcall virtual ~EOleError(void) { }
  165.     
  166. };
  167.  
  168. class __declspec(delphiclass) EOleSysError;
  169. class __declspec(pascalimplementation) EOleSysError : public EOleError
  170. {
  171.     typedef EOleError inherited;
  172.     
  173. private:
  174.     int FErrorCode;
  175.     
  176. public:
  177.     __fastcall EOleSysError(int ErrorCode, int Dummy1, int Dummy2);
  178.     __property int ErrorCode = {read=FErrorCode, nodefault};
  179. public:
  180.     /* Exception.CreateFmt */ __fastcall EOleSysError(const System::AnsiString Msg, const System::TVarRec 
  181.         * Args, const int Args_Size) : Oleauto::EOleError(Msg, Args, Args_Size) { }
  182.     /* Exception.CreateRes */ __fastcall EOleSysError(int Ident) : Oleauto::EOleError(Ident) { }
  183.     /* Exception.CreateResFmt */ __fastcall EOleSysError(int Ident, const System::TVarRec * Args, const 
  184.         int Args_Size) : Oleauto::EOleError(Ident, Args, Args_Size) { }
  185.     /* Exception.CreateHelp */ __fastcall EOleSysError(const System::AnsiString Msg, int AHelpContext) : 
  186.         Oleauto::EOleError(Msg, AHelpContext) { }
  187.     /* Exception.CreateFmtHelp */ __fastcall EOleSysError(const System::AnsiString Msg, const System::TVarRec 
  188.         * Args, const int Args_Size, int AHelpContext) : Oleauto::EOleError(Msg, Args, Args_Size, AHelpContext
  189.         ) { }
  190.     /* Exception.CreateResHelp */ __fastcall EOleSysError(int Ident, int AHelpContext) : Oleauto::EOleError(
  191.         Ident, AHelpContext) { }
  192.     /* Exception.CreateResFmtHelp */ __fastcall EOleSysError(int Ident, const System::TVarRec * Args, const 
  193.         int Args_Size, int AHelpContext) : Oleauto::EOleError(Ident, Args, Args_Size, AHelpContext) { }
  194.     
  195. public:
  196.     /* TObject.Destroy */ __fastcall virtual ~EOleSysError(void) { }
  197.     
  198. };
  199.  
  200. class __declspec(delphiclass) EOleException;
  201. class __declspec(pascalimplementation) EOleException : public EOleError
  202. {
  203.     typedef EOleError inherited;
  204.     
  205. private:
  206.     int FErrorCode;
  207.     System::AnsiString FSource;
  208.     System::AnsiString FHelpFile;
  209.     
  210. public:
  211.     __fastcall EOleException(const EXCEPINFO &ExcepInfo);
  212.     __property int ErrorCode = {read=FErrorCode, nodefault};
  213.     __property System::AnsiString HelpFile = {read=FHelpFile, nodefault};
  214.     __property System::AnsiString Source = {read=FSource, nodefault};
  215. public:
  216.     /* Exception.CreateFmt */ __fastcall EOleException(const System::AnsiString Msg, const System::TVarRec 
  217.         * Args, const int Args_Size) : Oleauto::EOleError(Msg, Args, Args_Size) { }
  218.     /* Exception.CreateRes */ __fastcall EOleException(int Ident) : Oleauto::EOleError(Ident) { }
  219.     /* Exception.CreateResFmt */ __fastcall EOleException(int Ident, const System::TVarRec * Args, const 
  220.         int Args_Size) : Oleauto::EOleError(Ident, Args, Args_Size) { }
  221.     /* Exception.CreateHelp */ __fastcall EOleException(const System::AnsiString Msg, int AHelpContext)
  222.          : Oleauto::EOleError(Msg, AHelpContext) { }
  223.     /* Exception.CreateFmtHelp */ __fastcall EOleException(const System::AnsiString Msg, const System::TVarRec 
  224.         * Args, const int Args_Size, int AHelpContext) : Oleauto::EOleError(Msg, Args, Args_Size, AHelpContext
  225.         ) { }
  226.     /* Exception.CreateResHelp */ __fastcall EOleException(int Ident, int AHelpContext) : Oleauto::EOleError(
  227.         Ident, AHelpContext) { }
  228.     /* Exception.CreateResFmtHelp */ __fastcall EOleException(int Ident, const System::TVarRec * Args, 
  229.         const int Args_Size, int AHelpContext) : Oleauto::EOleError(Ident, Args, Args_Size, AHelpContext) { }
  230.         
  231. public:
  232.     /* TObject.Destroy */ __fastcall virtual ~EOleException(void) { }
  233.     
  234. };
  235.  
  236. struct TCallDesc;
  237. typedef TCallDesc *PCallDesc;
  238.  
  239. #pragma pack(push, 1)
  240. struct TCallDesc
  241. {
  242.     Byte CallType;
  243.     Byte ArgCount;
  244.     Byte NamedArgCount;
  245.     Byte ArgTypes[256];
  246. } ;
  247. #pragma pack(pop)
  248.  
  249. //-- var, const, procedure ---------------------------------------------------
  250. #define MaxDispArgs (Byte)(32)
  251. extern TAutomation* Automation;
  252. extern void __fastcall OleError(long ErrorCode);
  253. extern void __fastcall OleCheck(long Result);
  254. extern GUID __fastcall StringToClassID(const System::AnsiString S);
  255. extern System::AnsiString __fastcall ClassIDToString(const GUID &ClassID);
  256. extern GUID __fastcall ProgIDToClassID(const System::AnsiString ProgID);
  257. extern System::AnsiString __fastcall ClassIDToProgID(const GUID &ClassID);
  258. extern System::Variant __fastcall VarFromInterface(Ole2::IUnknown* Unknown);
  259. extern Ole2::IDispatch* __fastcall VarToInterface(const System::Variant &V);
  260. extern TAutoObject* __fastcall VarToAutoObject(const System::Variant &V);
  261. extern System::Variant __fastcall CreateOleObject(const System::AnsiString ClassName);
  262. extern System::Variant __fastcall GetActiveOleObject(const System::AnsiString ClassName);
  263. extern void __fastcall DispInvokeError(int Status, const EXCEPINFO &ExcepInfo);
  264. extern long __stdcall DllGetClassObject(const GUID &CLSID, const GUID &IID, void *Obj);
  265. extern long __stdcall DllCanUnloadNow(void);
  266. extern long __stdcall DllRegisterServer(void);
  267. extern long __stdcall DllUnregisterServer(void);
  268. extern void __fastcall finalization(void);
  269.  
  270. }    /* namespace Oleauto */
  271.  
  272. #pragma warn .par
  273. #pragma warn .hid 
  274. #pragma warn .inl
  275.  
  276. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  277. using namespace Oleauto;
  278. #endif
  279. //-- end unit ----------------------------------------------------------------
  280. #endif    // OleAuto
  281.