README for Symantec Espresso Prerelease 
=======================================
"Espresso Prerelease ReadMe": Information on using Symantec C++ 
and the Symantec Espresso Prerelease 7.50 build 37.

Copyright (c) 1995 by Symantec Corporation. All Rights Reserved.


ABOUT THE "Espresso Prerelease ReadMe" FILE
===========================================

This file, "Espresso Prerelease ReadMe", provides important 
information necessary to install the Espresso Prerelease.

The sections that follow provide information on

* What is the Espresso Prerelease?

* Installing the Espresso Prerelease

* Building and Using Java Projects

* Important Points, Tips, and Workarounds

* Where to Go from Here

* Cut and Paste Items


WHAT IS THE ESPRESSO PRERELEASE?
================================

The Espresso Prerelease is a set of tools that allow developers 
using Symantec C++ for Windows to edit, build, run, and debug Java 
applications, within the Symantec C++ environment under Windows '95 
and Windows NT. This version supports SUN's Java release B1.

It includes instant Java applet and application creation using 
AppExpress, and features advanced editing, browsing and project 
management capabilities for Java development. All Symantec C++
7.21 capabilities are retained in the new environment. 

This is an alpha version product and as such, certain components 
are provided in an unfinished (but usable) condition. Please read
the limitations in "Important Points, Tips, and Workarounds" below
and send any comments you have or requests for more information to
javainfo@symantec.com.



INSTALLING THE ESPRESSO PRERELEASE
==================================
Installing the Espresso prerelease currently requires you to perform 
some manual operations precisely.  Please make certain to follow the 
steps carefully to avoid puzzling errors.

Install Symantec C++ Version 7.21
---------------------------------
If you have not already done so, install Symantec C++ version 7.21.  
You will need to install either or both the NT and Windows '95 options.

Espresso specifically requires Symantec C++ version 7.21. You can
determine the version of Symantec C++ by checking the Help | About
Symantec C++ menu item. The small text (under the large 7.2) should
say "Symantec C++ 32-Bit-Edition Version 7.21".

If you currently have version 7.20, you will first need to update it
to version 7.21. The Symantec C++ 7.21 update is available where you
received the Symantec Espresso Prerelease. It is provided as two self
extracting archives named 72UPDATE.exe and 72REDIST.exe. You will need
BOTH Archives to perform the 7.21 update. The text files 72UPDATE.txt
and 72REDIST.txt describe their exact contents.

Note: You need to apply the update from BOTH archives to perfom the
update from 7.20 to 7.21. In some locations a single 4MB+ file,
72UPALL.EXE, is available.

If you have a earlier versions of Symantec C++ 7.x there are
corresponding updates to 7.2.


Unzip the Prerelease Components
-------------------------------

1. Place Archive 
Move the self extracting archive Espresso-JDK-Beta-2.EXE to your 
Symantec C++ directory (usually named SC).

2. Extract Components 
Run Espresso-JDK-Beta-2.EXE. This will generate 7 files in your 
SC directory: UPDATE.BAT, PT72.EXE, JAVA.RTP, PATCHW32.dll 
These files convert Symantec C++ and install the SUN Java components.

MSVCRT40.dll
This is currently required by the SUN Java components.

SCCRT70.DLL 
This is required by Symantec C++.

Espresso Prerelease ReadMe 
The file you are now reading.

3. Move Miscellaneous DLLs 
Copy the two files MSVCRT40.dll, SCCRT70.DLL to your Windows system 
directory. (For example C:\WIN95\SYSTEM or C:\WINNT35\SYSTEM)

4. Run Update.bat 
Run the batch file "Update.bat".  This will convert the components 
required for Java development. It will also generate a new Java
directory within your Symantec C++ directory.

5. Add CLASSPATH and HOME environment variables to your system, and 
change your PATH environment variable. There is a "Cut and Paste"
version of these changes at the end of this file.

You must add a new environment variable, CLASSPATH, which is set to 
the location of the Java/Classes directory. (This directory was created
for you in step 4). The instructions below assume the location and name
of your Symantec C++ directory is C:\SC. You may have a different path,
depending on your installation. You must also set a HOME environment 
variable under Windows '95.

----------------------------------------------------------------------
WINDOWS '95
-----------
In Win95 add a new environment variable, CLASSPATH, to your 
autoexec.bat file: 
	SET CLASSPATH=.;C:\SC\JAVA\LIB

Note the "dot semicolon" to include the current directory.

Note: CLASSPATH tells the Java interpreter where to find the Java 
classes, including the ones you build.

Add a new environment variable, HOME, to your autoexec.bat file:

	SET HOME=C:\SC\JAVA

Change your PATH to include C:\SC\JAVA\BIN:

	SET PATH=C:\SC\JAVA\BIN;%PATH%

You will need to reboot for this change to take effect. (You do not 
need to reboot now.)
----------------------------------------------------------------------

----------------------------------------------------------------------
WINDOWS NT
-----------
Add the following User Environment Variable to your system, using the
System control Panel:

	CLASSPATH=.;C:\SC\JAVA\LIB

Note the "dot semicolon" to include current directory.

Note: CLASSPATH tells the Java interpreter where to find the Java 
classes, including the ones you build.

Change your PATH to include C:\SC\JAVA\BIN:

	PATH=C:\SC\Java\Bin;%PATH%
----------------------------------------------------------------------

6) Add a new JAVAINC environment variable to SC.INI
You now need to add an environment variable named JAVAINC to your 
Symantec C++ environment variables. It must be set to the location 
of the Java sources.

With the text editor of your choice add the following line to the 
[Environment] section of your sc\bin\sc.ini file:
	JAVAINC=C:\SC\JAVA\SRC

Save the changes and close the file.  You will need to restart 
Symantec C++ if it was running while you altered the SC.INI file.

Note: This tells the Symantec Browser how to locate the source code 
for the Java "System" classes.

7) Create a .HOTJAVA directory. 

Windows 95
----------
The patch process has allready created a .HOTJAVA in for you in 
C:\SC\JAVA. This diretory can be used under Windows 95 as your HOME
path.

----------------------------------------------------------------------
WINDOWS NT
-----------
In Windows NT parts of Java use a combination of the predefined
system environment variables, HOMEDRIVE and HOMEPATH, to specify a HOME
directory. Create the .HOTJAVA directory in Windows NT by entering the
following in a Command Prompt window:
	MKDIR %HOMEDRIVE%%HOMEPATH%\.hotjava 

8) Install TCP/IP (Optional)
The SUN Java debugger uses TCP/IP to communicate with Java components,
even on a standalone machine. If you do not have TCP/IP installed, the
debugger process will hang. If you haven't installed the TCP/IP
protocol on your system and you intend to use the Debugger, you will
need to install it now.  In Windows 95 and NT, you use the Network
Control Panel to install TCP/IP.


BUILDING AND USING JAVA PROJECTS
================================

We suggest that you start by using and examining one of the demo 
projects. The section below discusses how to start by using the 
Animator demo. Later you can use AppExpress to generate new Java 
applications or generate projects manually.

Using the Java Demos
--------------------
Launch the Symantec Environment (IDDE)
You'll notice the new Espresso startup screen and title bar. Open the
Animator demo project. It is located in SC\java\demo\Animator, and is
named Animator.prj.  As it opens, the parser will start parsing the
Java source files.

Choose Build all
You will notice a brief delay as the Java compiler is invoked and 
it processes the Animator.java source file. The compiler will
produce the runtime class file Animator.class in the Animator
directory.

Choose Execute Program
After a brief pause the Animator applet will appear and run.

Choose Project Arguments...
Applets are invoked by running appletviewer.exe on the HTML text file
specified in the Project | Argument... dialog. Choose this to see that
the file run by the IDDE is named example1.html. You can specify
another HTML file to run instead, such as example2.html.  If you are
interested, you can open example1.html in the editor and see the format
for invoking an applet from an HTML file.


Using AppExpress
----------------
In this alpha prerelease, AppExpress adds three application types: 
Java Applet, Java SDI, and Java Console.  These are extremely simple 
examples to demonstrate Java applications.

This is how you create new simple Java projects using AppExpress:

1. Select the menu item Project|New. DO NOT alter or fill in the 
project name. Select a directory, check Use AppExpress and click 
Finish.

2. In The AppExpress main dialog select one of the three Java 
application types and click Finish. (Don't change the project name on 
the Miscellaneous dialog.)

3. Build and execute program as usual.

4. The AppExpress sample Java projects start up with parsing set OFF.
In order to use the Class Editor and Hierarchy Browser, you'll need to 
do Project|Settings|Target and check Parse for Browsing, then do Parse 
All.  If you have not specified the JAVAINC variable above, you will 
need to add sc\java\src to your project directories source search path.

Please note the following limitations:

In this pre-release of AppExpress, the names are all preassigned, and 
everything has the same name: "Simple." (The file Simple.java contains 
the class Simple, and the project file is Simple.prj.) In the future, 
AppExpress will allow you to specify the project name and then use
that project name to create the class names and file names (as it does
for all other application types).

Note: If you assign your own project name to one of these sample Java 
projects, it will generate and build, but Project|Execute Program won't
work. If you want to name your project something else, you can, but you
then MUST change the following occurrences of "Simple" to be exactly
the same as your project name, including case-matching: 
	- Simple.java (rename the file) 
	- class Simple inside Simple.java
	- constructor for class Simple 
	- Simple.html in the case of the Java applet 
Applet project names have more flexibility as described below.

Generating New Projects Manually
--------------------------------
If you have existing Java source code, you can use ProjectExpress to 
generate your own projects manually; just specify either Applet or 
Console.  Console apps are Java stand alone or "non-applet" Java
runnable components.

You will need to write the Java source files (.java) which contain the
source code for your Java classes. You define and edit your Java
classes inside these source files. During a build, the compiler
produces a Java class file (.class) with the same name as the source
file. When you choose Execute Program the IDDE attempts to run a class
with the same name as your project.

Java applets, in contrast to console applications, are 
called from Hypertext links, for example from Hypertext links in 
internet Web pages. The hypertext links that call applets are defined 
in the Hypertext Markup Language (HTML).  The HTML file is an editable 
text file containing a small piece of HTML that the Symantec
environment uses to launch your applet.

Applet projects require you to write the HTML files to invoke your
applet.  See the demo projects for examples.

The .html file supplies the link that allows your JAVA applet to be 
called and debugged within the Symantec IDDE. You specify the name of 
the HTML file to be launched in the "Project|Arguments..." menu choice 
in the Symantec C++ environment.


IMPORTANT POINTS, LIMITATIONS, TIPS, AND WORKAROUNDS
====================================================
Projects opened under the Espresso Environment undergo are converted
in a way that 7.21 will not be able to re-open them. You may want to
restrict your use of Espresso for Java projects only.

File names and class names must be identical in spelling and 
CAPTALIZATION. This is a requirement of the Java compiler and 
interpreter.

If the project is of type Applet the Symantec Environment runs the
HTML file that is specified in Project | Arguments... dialog; 
otherwise it attempts to run a class which has the same name as
the current project.

The applet class specified in the HTML file must be capitalized 
identically to the class name.

Make sure the CLASSPATH variable is set correctly or your programs 
will silently fail. Don't forget the ".;".

There is currently no Graphical debugger for Java. When you choose
"Start/Restart Debugging" the IDDE launches the SUN command line
debugger.

If you attempt to debug, you MUST have TCP/IP installed.  If not, the 
debugger will hang.

Projects under Espresso must not have names containing spaces.

AppExpress
----------
In the AppExpress main dialog, the down-arrow key will not move down 
to the new radio buttons for the Java examples.

In the main dialog, Include Help is enabled, but not functional 
(there are no help files yet).

The Java SDI sample is not fully functional. Only the menu items 
Help | About and File | Exit perform.

ClassExpress
------------
There is currently a conflict with ClassExpress in Espresso.
This will be fixed soon.

Compiler support
----------------
The compiler does not accurately report the number of lines compiled.

Certain Java compiler switches are not currently supported in the IDDE.
For more information you may want to run the javac compiler directly
from the command line.
 
Earlier versions of Java
------------------------
Earlier Java releases from SUN have different class names and
functionality than the current release. For more information
please refer to SUN's http site. 



WHERE TO GO FROM HERE
=====================
There is a host of information available at http:\\java.sun.com.

The Symantec World Wide Web is located at www.symantec.com.

For additional information about Symantec Java support please 
contact javainfo@Symantec.com.

A good book to start with is Tim Ritchey's "Java!", New Writers
Publishing, ISBN 1-56205-533-X.  This book describes a slightly earlier
version of the Java language and the code requires some modification
for this release of Java.

CUT AND PASTE ITEMS
===================
These are typical modifications that you may wish to cut and paste 
into your autoexec.bat and SC.INI files.

Windows '95 
For a typical installation, the SC JAVA-specific entries in your 
AUTOEXEC.BAT are:

SET HOME=C:\SC\JAVA
SET CLASSPATH=.;C:\SC\JAVA\LIB
SET PATH=C:\SC\BIN;C:\SC\JAVA\BIN;%PATH% 
SET HELP=C:\SC\HELP;%HELP%

In a typical installation you will find the SC.INI in: 
C:\SC\BIN\SC.INI 
Below is the content of the SC.INI for a typical installation with 
the JAVA patch applied.

[Version] 
version=7.21 Build 1029

[Environment] 
JAVAINC=C:\SC\JAVA\SRC
PATH=%PATH%;"%@P%\..\BIN" BIN="%@P%\..\BIN"
INCLUDE="%@P%\..\INCLUDE";"%@P%\..\MFC\INCLUDE";%INCLUDE%
LIB="%@P%\..\LIB";"%@P%\..\MFC\LIB";%LIB% 
HELP="%@P%\..\HELP"
