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
Whats new with THINK Pascal?
Version 3.0, thats what! THINK Pascal 3.0 has many new features which Im sure youd like to know about. THINK Pascal is (still) without a doubt the best choice for Pascal program development. Lets 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 havent 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 windows close box. Im 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 cant 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 its 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 routines 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, Im very disappointed that there are not more improvements, but Bowers 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 youre using AppMaker, youll want to try out the Class Library support. Its too bad that both types of code generated by AppMaker (Class Library support and regular) dont 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. Its 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 dont 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. Youll 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