⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comdll_tlb.h

📁 C++Builder高级应用开发指南随书源码
💻 H
字号:
// ************************************************************************ //
// WARNING                                                                    
// -------                                                                    
// The types declared in this file were generated from data read from a       
// Type Library. If this type library is explicitly or indirectly (via        
// another type library referring to this type library) re-imported, or the   
// 'Refresh' command of the Type Library Editor activated while editing the   
// Type Library, the contents of this file will be regenerated and all        
// manual modifications will be lost.                                         
// ************************************************************************ //

// C++ TLBWRTR : $Revision:   1.134.1.41  $
// File generated on 2001-9-12 20:02:49 from Type Library described below.

// ************************************************************************ //
// Type Lib: C:\Samples\COM\ComDLL\ComDll.dll (1)
// IID\LCID: {F48A6647-B2F9-4726-A480-0B67664AFCC8}\0
// Helpfile: 
// DepndLst: 
//   (1) v2.0 stdole, (E:\WINNT\System32\stdole2.tlb)
//   (2) v4.0 StdVCL, (E:\WINNT\System32\STDVCL40.DLL)
// ************************************************************************ //
#ifndef   __ComDll_TLB_h__
#define   __ComDll_TLB_h__

#pragma option push -b -w-inl

#include <utilcls.h>
#if !defined(__UTILCLS_H_VERSION) || (__UTILCLS_H_VERSION < 0x0500)
//
// The code generated by the TLIBIMP utility or the Import|TypeLibrary 
// and Import|ActiveX feature of C++Builder rely on specific versions of
// the header file UTILCLS.H found in the INCLUDE\VCL directory. If an 
// older version of the file is detected, you probably need an update/patch.
//
#error "This file requires a newer version of the header UTILCLS.H" \
       "You need to apply an update/patch to your copy of C++Builder"
#endif
#include <olectl.h>
#include <ocidl.h>
#if defined(USING_ATLVCL) || defined(USING_ATL)
#if !defined(__TLB_NO_EVENT_WRAPPERS)
#include <atl/atlmod.h>
#endif
#endif


// *********************************************************************//
// Forward reference of some VCL types (to avoid including STDVCL.HPP)    
// *********************************************************************//
namespace Stdvcl {class IStrings; class IStringsDisp;}
using namespace Stdvcl;
typedef TComInterface<IStrings> IStringsPtr;
typedef TComInterface<IStringsDisp> IStringsDispPtr;

namespace Comdll_tlb
{

// *********************************************************************//
// HelpString: ComDll Library
// Version:    1.0
// *********************************************************************//


// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:        
//   Type Libraries     : LIBID_xxxx                                      
//   CoClasses          : CLSID_xxxx                                      
//   DISPInterfaces     : DIID_xxxx                                       
//   Non-DISP interfaces: IID_xxxx                                        
// *********************************************************************//
extern __declspec (package) const GUID LIBID_ComDll;
extern __declspec (package) const GUID IID_IMyComObject;
extern __declspec (package) const GUID CLSID_MyComObject;

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary                    
// *********************************************************************//
interface DECLSPEC_UUID("{9FD1E749-9797-4731-A88C-96C7CF08BB60}") IMyComObject;
typedef TComInterface<IMyComObject, &IID_IMyComObject> IMyComObjectPtr;

// *********************************************************************//
// Declaration of CoClasses defined in Type Library                       
// (NOTE: Here we map each CoClass to its Default Interface)              
//                                                                        
// The LIBID_OF_ macro(s) map a LIBID_OF_CoClassName to the GUID of this  
// TypeLibrary. It simplifies the updating of macros when CoClass name    
// change.                                                                
// *********************************************************************//
typedef IMyComObject MyComObject;
typedef IMyComObjectPtr MyComObjectPtr;

#define LIBID_OF_MyComObject (&LIBID_ComDll)
// *********************************************************************//
// Interface: IMyComObject
// Flags:     (256) OleAutomation
// GUID:      {9FD1E749-9797-4731-A88C-96C7CF08BB60}
// *********************************************************************//
interface IMyComObject  : public IUnknown
{
public:
  virtual HRESULT STDMETHODCALLTYPE ShowDialog(void) = 0; // [1]
};

#if !defined(__TLB_NO_INTERFACE_WRAPPERS)
// *********************************************************************//
// SmartIntf: TCOMIMyComObject
// Interface: IMyComObject
// *********************************************************************//
template <class T /* IMyComObject */ >
class TCOMIMyComObjectT : public TComInterface<IMyComObject>, public TComInterfaceBase<IUnknown>
{
public:
  TCOMIMyComObjectT() {}
  TCOMIMyComObjectT(IMyComObject *intf, bool addRef = false) : TComInterface<IMyComObject>(intf, addRef) {}
  TCOMIMyComObjectT(const TCOMIMyComObjectT& src) : TComInterface<IMyComObject>(src) {}
  TCOMIMyComObjectT& operator=(const TCOMIMyComObjectT& src) { Bind(src, true); return *this;}

  HRESULT         __fastcall ShowDialog(void);

};
typedef TCOMIMyComObjectT<IMyComObject> TCOMIMyComObject;

// *********************************************************************//
// SmartIntf: TCOMIMyComObject
// Interface: IMyComObject
// *********************************************************************//
template <class T> HRESULT __fastcall
TCOMIMyComObjectT<T>::ShowDialog(void)
{
  return (*this)->ShowDialog();
}

// *********************************************************************//
// The following typedefs expose classes (named CoCoClassName) that       
// provide static Create() and CreateRemote(LPWSTR machineName) methods   
// for creating an instance of an exposed object. These functions can     
// be used by client wishing to automate CoClasses exposed by this        
// typelibrary.                                                           
// *********************************************************************//

// *********************************************************************//
// COCLASS DEFAULT INTERFACE CREATOR
// CoClass  : MyComObject
// Interface: TCOMIMyComObject
// *********************************************************************//
typedef TCoClassCreatorT<TCOMIMyComObject, IMyComObject, &CLSID_MyComObject, &IID_IMyComObject> CoMyComObject;
#endif  //   __TLB_NO_INTERFACE_WRAPPERS


};     // namespace Comdll_tlb

#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using  namespace Comdll_tlb;
#endif

#pragma option pop

#endif // __ComDll_TLB_h__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -