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 Symantecs 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, especially 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 Multifinder.
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.