***************************************************************************
* SOM SAMPLE PROJECT: Readme File (README.TXT)                            *
*                                                                         *
* COPYRIGHT: Copyright(C) International Business Machines Corp.,1992,1995.*
*                                                                         *
* DISCLAIMER OF WARRANTIES:                                               *
*   The accompanying code is sample code created by the IBM Corporation.  *
*   This sample code is not part of any standard IBM product and is       *
*   provided to you solely for the purpose of assisting you in the        *
*   development of your applications.  The code is provided "AS IS",      *
*   without warranty of any kind.  IBM shall not be liable for any        *
*   damages arising out of your use of the sample code, even if they      *
*   have been advised of the possibility of such damages.                 *
***************************************************************************

SAMPLE - Direct-To-SOM (DTS)

   DESCRIPTION:
        DTS is a C++ program that uses native SOM classes enabled by
        VisualAge for C++'s Direct-to-SOM (DTS) support and the SOM toolkit.
        The test case shows how easily one can create SOM classes using the
        C++ language and VA for C++'s DTS support. Furthermore it provides an
        example of how SOM classes can be exported to IDL so that clients can
        exploit a SOM enabled class library even though they are not using
        a DTS compiler.

   TASK:
        Two client programs create and access instance data of a SOM class.
        The first program (hhmain.exe) uses DTS support for compiling the
        client code as well as in class library creation. The second program
        (xhmain.exe) does not require DTS support for the client code.

   CONCEPT/FEATURE:
        SOM is IBM's System Object Model, a new object-oriented programming
        technology for building, packaging, and manipulating binary class
        libraries. VisualAge for C++ (VA for C++) provides DTS support for
        C++, by allowing a user to create native SOM classes in C++ and to
        manipulate non-native SOM classes through the use of "binding files"
        created by the SC compiler. VA for C++ also generates complete
        interface definiton (IDL) files directly from C++ class definitions,
        so that the users in other languages can also exploit SOM enabled C++
        class libraries.

        The sample program is an example incorporating all the concepts and
        features listed above:

        - class Info is a native DTS class.
        - a DLL is created for class Info.
        - an IDL definition is generated for class Info and placed in file
          info.idl.
        - an "XH" binding file is generated from Info's IDL class definition.
        - two client programs "hhmain.cpp" and "xhmain.cpp", both create
          a instance of class Info and query it's instance data.

        For more information on VA for C++'s DTS support, SOM frameworks,
        please refer to VA for C++'s Programming Guide, and SOMobjects
        Developer Toolkit Users Guide, respectively.


HOW TO RUN THE SAMPLE:

   FROM THE COMMAND LINE:

       Enter the following:

         cd: X:\ibmcppw\samples\compiler\dts

         Type HHMAIN.EXE.

         cd: X:\ibmcppw\samples\compiler\dts\xhmain

         Type XHMAIN.EXE.

     Where X: is the drive you installed the samples component of
     VisualAge for C++.

     NOTE: ensure that environment variable PATH includes the subdirectory
           containing MYCLS.DLL.  One way of doing this is to enter the
           following on the command line before trying to execute HHMAIN.EXE
           or XHMAIN.EXE

           set path=.\xhmain\dtsdll;.\dtsdll;%path%


   FROM WITHIN THE WorkFrame ENVIRONMENT:

       To execute HHMAIN.EXE, click on the "Run" button on DTS.IWP's
       project toolbar.

       To execute XHMAIN.EXE, open up sub-project XHMAIN.IWP, and click
       on the "Run" button on XHMAIN.IWP's project toolbar.


HOW TO BUILD THE SAMPLE PROJECT YOURSELF FROM THE COMMAND LINE:

   Enter the following:

      cd X:\ibmcppw\samples\compiler\dts

   Where X: is the drive you installed the samples component of
   VisualAge for C++.

   To build the DTS sample, enter the following:

          NMAKE


ADDITIONAL INFORMATION:

   For information on this and other samples shipped with the VisualAge for
   C++ product, please see the Guide to Samples notebook.

   To access the notebook from the Program Manager, open the VisualAge for
   C++ product object, then open the Guide to Samples notebook.


