home *** CD-ROM | disk | FTP | other *** search
- OLE Automation Controller and Server that Browses a Type Library
-
-
- SUMMARY
- =======
-
- The BROWSE sample controls the automation objects of the BROWSEH (Browse
- Helper) inproc server to browse a type library. BROWSE is a developer-
- oriented type library browser.
-
- In addition to displaying type library information, this sample shows how
- to control an automation object by accessing its properties and methods.
- BROWSE provides generic helper functions (CreateObject & Invoke) to control
- any automation server. For more information on how to use these functions,
- see the comments in INVHELP.CPP.
-
- BROWSEH exposes a number of automation objects that correspond to
- components of a type library. This allows an automation controller like
- BROWSE to access the properties and methods of these objects to browse the
- type library instead of directly using ITypeLib and ITypeInfo. So BROWSEH
- is a type library browse helper. BROWSEH does not support vtable binding.
- Controllers must use IDispatch to control this server.
-
- MORE INFORMATION
- ================
-
- The following information describes the BROWSE sample.
-
- To Compile BROWSE and BROWSEH
- -----------------------------
-
- To compile an ANSI debug version of the sample for Windows NT and Windows 95,
- use the following command:
-
- nmake
-
- To compile a Unicode debug version of the sample for Windows NT only, use the
- following command:
-
- nmake dev=win32 HOST=NT
-
- To compile a 16-bit debug version of the sample and if your development
- environment is Win 3.x, use the following command. If your development
- environment is Win95 or NT, change the HOST appropriately.
-
- nmake dev=win16 HOST=DOS
-
- To clean up between builds which use different options, use one of the
- following commands:
-
- nmake clean
- nmake dev=win16 clean
-
- See the makefile header comments for other make options.
-
- If one of the build tools cannot find SDKUTIL.LIB, use the SAMPLES\COM\COMMON
- sample to build SDKUTIL.LIB.
-
- Visual C++ 2.x and above can use makefile as an external makefile
- after making the following replacement in the makefile:
-
- !include <$(MSTOOLS)\samples\com\include\olesampl.mak>
-
- with
-
- !include <win32.mak>
-
-
- To Run BROWSE
- -------------
-
- - Change BROWSEH.REG to provide the full path of BROWSEH.DLL, BROWSEH.TLB and MYDISP.TLB.
-
- - Register BROWSEH.REG in the registration database by double-clicking it.
-
- - Run BROWSE.EXE and use the menu to select a type library to browse.
-
-
- BROWSE Files
- ------------
-
- INVHELP.CPP and INVHELP.H contain two helper functions that are used to
- create an automation object (using CreateObject) and to invoke a method
- or property of that object (using Invoke). These functions are general
- enough to be used by any Automation controller.
-
- BROWSE.CPP uses the helper functions in invhelp.cpp to access the
- properties and methods of the automation objects of BROWSEH.
-
- MAKEFILE is the makefile for the project.
-
-
- To run BROWSEH
- --------------
-
- - Change BROWSEH.REG to provide the full path of BROWSEH.DLL and BROWSEH.TLB.
-
- - Register BROWSEH.REG in the registration database by double-clicking it.
-
- - Run the Automation controller BROWSE that uses BROWSEH to browse a type
- library OR load and run the VB 4.0 VB.VBP project file which uses BROWSEH
- to output a C/C++ header file from the infromation in a type library. The
- header file can be used to create a C/C++ vtbl-binding client for the server
- to which the type library belongs, if the server supports vtbl-binding. After
- running the VB script, select the type library to be used as the input and
- specify the name of the header file to be output.
-
- BROWSEH Files
- -------------
-
- MYDISP.ODL contains the description of a base class that implements
- IDispatch. All automation objects in this server are derived from this
- class. This is the implementation of IDispatch in the base class to be
- inherited in the derived classes.
-
- BROWSEH.ODL contains the description of the objects that BROWSEH exposes.
-
- TLB.H is the header file generated by mktyplib.exe
-
- MAKEFILE is the makefile for project.
-
- MAIN.CPP contains code to create an inproc server.
-
- Other files implement the BROWSEH automation server. For example,
- COCLASS.CPP demonstrates how to use ITypeInfo and ITypeLib to browse a
- coclass in a type library.
-
- VB.VBP and VB.FRM are VB 4.0 files that uses BROWSEH to browse a type library
- and to create a C/C++ header file from the browsed information.
-