Think Pascal 3.0
Volume Number: 6
Issue Number: 6
Column Tag: Kelly's Corner
THINK Pascal 3.0
By Dave Kelly, MacTutor Contributing Editor
What’s new with THINK Pascal?
Version 3.0, that’s what! THINK Pascal 3.0 has many new features which I’m
sure you’d like to know about. THINK Pascal is (still) without a doubt the best choice
for Pascal program development. Let’s review some of the new features.
THINK Pascal 3.0 is completely compatible with version 2.0. The project
documents are kept in a slightly different format, but are converted automatically
when the project is opened. The old object code is discarded. Converting from earlier
versions (1.0 or 1.11) is a bit more complicated. You must rebuild libraries if you
still have the source files or use the Convert.lib =>2.0 program to convert to version
2.0 format which is compatible with version 3.0. The new libraries are compatible
with MPW .o format.
Object-Oriented Programming is supported by way of the THINK Class Library
(TCL) and MacApp. When THINK C was released a few months ago with Class Library
support Pascal users were jealous. THINK Pascal 3.0 includes a 300+ page manual on
Object-Oriented Programming. The OOP manual is a great way to break into OOP if you
haven’t yet. In addition a class browser is provided for showing the hierarchy of your
classes.
New programming utilities give added support. ResEdit 1.2 comes with complete
documentation. Back up and printing of files is quicker with a new Project Utilities
application. Three new applications are provided to create/de create resources from
text descriptions or convert resource files for use with MacApp projects.
Several new commands have been added. Files are now closed when clicking in a
window’s close box. I’m glad they fixed this. It was somewhat annoying in previous
versions. When you hold down the option key, three new commands are available in the
File menu: Close All, Save All, and Print All Files. The menus for running and
debugging have been modified and rearranged. A new Windows menu contains a
command for arranging windows, automatically saving positions of the windows,
automatically opening all of a projects windows and the Class Browser window.
One nice thing about THINK Pascal in previous versions was the Alert that
appeared when THINK Pascal can’t find a file. This feature has been improved. THINK
Pascal 3.0 looks in specific places to find the file it needs before asking you to help
find the file.
You can have control over segmentation in your project. You can place each
procedure and function in a particular segment with the Segmentation directive {$$
name}. You can segment your project file by file, routine by routine or a combination.
Older versions only let you specify segmentation on a file by file basis.
Packed arrays and records in THINK Pascal 3.0 are more compatible with MPW
Pascal. The drawback here is that any program that depends on how THINK Pascal 2.0
represents packed records may behave differently in THINK Pascal 3.0.
The editor in THINK Pascal 3.0 lets you find definitions quicker and edit files up
to about 32,000 lines. A quick way to find the definition of a procedure, function,
class, or global variable used in a source file is to hold down the Option key, and double
click on the name of it. THINK Pascal opens the file that defines it and moves to its
definition. If it’s defined in a library, THINK Pascal displays an alert telling you
which library it is in. You can use this shortcut to find a method, too. If more than one
class defines a method for that message, THINK Pascal displays the Class Browser and
highlights the classes that define the method. Then double-click on the class you want
and THINK Pascal opens the file that defines it and moves to its definition.
There are some new extensions to Pascal, including set constants and indexing
string constants. In addition, there is documentation for a previously undocumented
feature of Pascal 2.0, the univ qualifier. The univ qualifier lets you disable
type-checking for a routine’s parameter. You can also declare set constants in the
const declaration part of a unit or program. You can now type cast an expression from
its original type to a new type of a different size. These are just a few of the new
language extensions.
Other new features include improved compiler directives, new toolbox interfaces
(compatible with the latest from Apple MPW 3.0), new LightsBug features, and
improved (“smarter”) linking. These improvements and the ones previously
mentioned make the upgrade to version 3.0 a necessity.
AppMaker 1.1
Also new these days is AppMaker 1.1. Actually, I’m very disappointed that there
are not more improvements, but Bower’s Development has done a lot of work to
support the TCL. In fact, the code generated by AppMaker using the Class Library is
much more developed than the original code. If you’re using AppMaker, you’ll want to
try out the Class Library support. It’s too bad that both types of code generated by
AppMaker (Class Library support and regular) don’t give the same support. An worse
yet, the structure of the AppMaker menus and windows etc. that you create are so much
different that you better know if you want to use Class Libraries before you start. It’s
possible, but quite awkward to change your mind because the menus, windows, etc. are
set up for Class Library format. Default resources are even different. A item number
has to be added to menus when using the THINK Class Libraries.
A few new gadgets have been added, but they are barely noticed since the interface
still does not provide tools for aligning objects. Now you can add pictures to your
menus, buttons, check boxes, and radio buttons. You can also create custom sliders.
Menu support has been improved to support Hierarchical and Pop-up menus.
All in all, AppMaker 1.1 is simply a maintenance release, but if you really need
to get into TCL quickly this is a good way to do it since AppMaker creates TCL code.
Since Prototyper 3.0 is not out yet we don’t know if it will support TCL, but I know
that Now Software (formerly SmethersBarnes) is planning some big improvements.
The company name change is just the first improvement.
Other Products
MacWorld Expo in San Francisco brings us a few new announcements which
hopefully have been fully realized by now. The first is the release of TGS Systems
Prograph Compiler in June. The compiler will make it possible (finally) to produce
double-clickable, stand-alone applications. Because Prograph takes care of the
syntax, the compiler is free to assume that the code is correct. Run time Prograph
compiled applications is significantly faster than when run with the Prograph
interpreter. Compiled THINK C and MPW C files can be linked into the application,
selecting only those portions of code that are required. The compiler will also be
released with an improved Prograph 2.0 editor/interpreter which will provide full
support for all five volumes of Inside Macintosh, including Serial Port, Sound
Manager, and Color QuickDraw support.
Serius Corp. is preparing for release of version 2.0. Hopefully, this release will
be available by the time you are reading this. You’ll have to stay tuned for more on
this one.
THINK Pascal 3.0
Symantec Corporation
10201 Torre Avenue
Cupertino, CA. 95014
408-253-9600
AppMaker 1.1
BOWERS Development
P. O. Box 9
Lincoln Center, MA. 01773
(503) 369-8175
FAX: 508-369-8224
AppleLink D1721
MCI ID 375-8546