May 94 Top 10
Volume Number: 10
Issue Number: 5
Column Tag: Think Top 10
Think Top 10
By Christopher Prinos, Symantec Technical Support, Symantec Corp.
This is a monthly column written by Symantec’s Technical Support Engineers
intended to provide you with information on Symantec products. Each month we cover
either a specific application of tools or a “Q&A” list.
“Symantec C++ for Macintosh 7.0 introduces....
several new tools to help developers take advantage of
object oriented programming,
in addition to providing enhanced versions
of the THINK Project Manager
and Symantec C++ compiler.”
New Tools
TCL 2.0
The THINK Class Library (TCL) is now a full C++, pointer based class library.
Multiple base classes and mixins are used, as well as template based container classes.
TCL 2.0 uses Apple's Universal Headers (provided with Symantec C++ 7.0), and
removes all 68K dependencies in the source code. This eases the work of transitioning
TCL applications to PowerPC.
Full Object Model support has been designed into TCL 2.0, providing all TCL
applications with basic scripting and recording capabilities. User classes can gain
Object Model support by using the CAppleEventObject mixin class, or deriving from
TCL base classes with Object Model support. AppleScript 1.1 is provided with
Symantec C++ 7.0, as well as sample scripts for the TCL example projects.
The TCL also features a new exception handling library which provides the
functionality of the exception handling mechanism in the Annotated C++ Reference
Manual. Catching and throwing of typed exceptions, stack unwinding for stack based
objects, and an RTTI interface is provided. The exception library can also be used in
non-TCL applications.
Despite the extensive changes to the TCL, and the newly added features, TCL 1.1.3
source code can be easily ported to TCL 2.0. Also, applications built with TCL 2.0 will
still run on 68K and/or System 6 Macintosh systems.
Visual Architect
To complement the new TCL, Symantec C++ comes with Visual Architect - a
prototyping and source code generation tool that simplifies the development an
applications user interface.
Visual Architect has an interface much like a drawing program, allowing
developers to “draw” the user interface of an application using standard TCL visual
elements - windows, panes, controls, TextEdit panes, tables, etc. Visual Architect can
then instantly simulate how a particular view will look, allowing the user to
manipulate controls and try the interface before writing a single line of code. Menus
and TCL commands can also be specified directly in Visual Architect.
At any point in the design process, Visual Architect can generate TCL 2.0 source
code for a fully functioning application. Using AppleEvents, Visual Architect works
with the THINK Project Manager to automatically update and compile any necessary
files created by Visual Architect.
In the generated source, Visual Architect writes well commented skeleton code for
the developer to provide their own functionality. Even after this is done, you can
continue to revise and change the user interface in Visual Architect without ever losing
the custom code that you've written. All source code generation is controlled by a macro
language, and plain text macro files, so the kind of code generated by VA can be
customized by the user.
THINK Inspector
In addition to the source level debugging services, Symantec C++ 7.0 adds the
THINK Inspector, which is a runtime object browser for viewing objects in the
applications heap.
THINK Inspector allows any number of browser windows which can show all the
classes used in an application. The Inspector can locate all objects in the heap, display
the values of data members for each object, and show the line of source code where each
object was allocated.
The Inspector works for C++ and pascal objects, and can be used with THINK
Class Library.
THINK Project Manager
For version 7.0, the THINK Project Manager (TPM) features a number of user
interface improvements, along with the integration support for Visual Architect.
Two notable new features are an AppleScript menu, and Project Model support.
The TPM now has an AppleScript menu which can execute any user scripts. Each user
script shows up as its own menu item in the script menu. The other TPM addition is
Project Models, which simplify the creation of new projects. When creating a new
project, the TPM presents a list of Project Models to choose from. Symantec provides
standard project models for project types such as C++ with IOStreams, Visual
Architect Project, or ANSI C project. Each has the appropriate resources and libraries
already added to the project. Users can also easily configure their own Project Models
for special project settings or file configurations.
Symantec C++ compiler
Symantec C++ 7.0 features a new, more robust compiler with tighter and more
efficient code generation, e specially for '020/'030/'040 machines.
MacApp 3.1 support
Symantec C++ 7.0 now supports MacApp 3.1, and developers can take advantage
of all the standard THINK tools like the source code debugger, and the new THINK
Inspector when doing MacApp development.
System Requirements
Symantec C++ for Macintosh 7.0 requires system 7.0 or later and 8MB of RAM.
Development with source code debugging is also supported in System 6 with
Multi finder.
Upgrades
Registered owners of Symantec C++ for Macintosh can upgrade to version 7.0 for
$149.95. THINK C and THINK Pascal users can upgrade for $199.95.
Symantec will be providing free patches for all Symantec C++ users that will
update the THINK Project Manager, THINK Debugger, and C++ compiler. A patch to the
Symantec C++ for MPW compiler incorporating the new compiler enhancements will
also be made available. These patches will be available in Symantec forums in
CompuServe, America Online, AppleLink, the Info-Mac archives at
sumex.aim.stanford.edu, and through Symantec Technical Support.