|
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
- SPREAD THE WORD:
- Slashdot
- Digg
- Del.icio.us
- Newsvine