FOR IMMEDIATE RELEASE

Automated Solutions Group Announces the Release of ObjectTools v1.5.3

Huntington Beach, CA – February 6, 2001: Automated Solutions Group today
announced the release of ObjectTools v1.5.3 for Macintosh and Windows.
ObjectTools is a 4th Dimension plug-in which provides a set of routines
that allow you to create Objects: a single entity in which you can store
and retrieve any amount of data of differing types. This is similar to what
you can do with 4D BLOBs, but with several important differences: Rather
than using offsets, data is stored into and retrieved from Objects by name.
Whereas BLOBs are the equivalent of ROM — once written, you cannot really
modify their contents — Objects are more like RAM. Once stored, data in
Objects can be modified in place, retrieved into 4D variables, and copied
to other Objects. Because Objects are represented by Longint handles, you
can create arrays of Objects.

What are Objects Good For?
While the uses of Objects are virtually limitless, there are several common
problems which they directly address:

* To drastically reduce the number of process and interprocess variables
* To save and restore complex configuration data, such as the configuration
of plug-ins
* To allow an object-oriented style of programming

How Do Objects Work?
In classical programming terms Objects are implemented as an unordered
dictionary. A dictionary is a collection of key-value pairs, where the key
uniquely identifies a value. In the case of Objects, the key is the item
reference, or tag. The value is whatever was stored with the key. Objects
are unordered dictionaries, meaning that the order of the key-value pairs
at any given time is the order in which they were added to the Object.
Therefore, in theory, the worst-case performance of the key lookup will
increase linearly with the number of items in the Object, but in practice
you will never notice any performance degradation. While similar to 4D
BLOBs and the venerable PictBundle plug-in, ObjectTools has several
important advantages over both:

* Objects store data as named items — finally you are freed from the
drudgery of using numeric offsets to store and retrieve data. With Objects,
you store and retrieve data as distinct items using a 255 character name.

* Objects are random access — you can store and retrieve in any order.

* Objects are modifiable — you can replace, delete or copy an existing
named item without recreating the entire Object.

* Objects can be stored in arrays — because Objects are represented by a
Longint handle, you can create arrays of Objects. This ability makes
Objects the “perfect” tool for interprocess messaging.

* Arrays within Objects are directly accessible — once stored in an
Object, you can get the size of an array and directly access any given
element, allowing you to iterate over an array within an Object.

* Objects can be embedded in Objects — you can store Objects within
Objects and directly access embedded items.

* Objects reveal their structure — ObjectTools has a full suite of
routines that let you know everything about the structure of an Object. In
fact, ObjectTools ships with a sophisticated visual Object editor that uses
these routines to create, examine and modify the contents of any Object.

Bug Fixes in v1.5.3
* Won’t crash when launching under Windows.
* The technique used to maintain the list of objects has been changed to be
much, much faster, especially as the number of objects increases.
* Pictures saved via OT ObjectToBLOB on Windows will now be correctly
reconstructed via OT BLOBToObject on the Mac.
* Fixed a crashing problem with calling OT ItemExists after OT
BLOBToObject.
* It was possible to have two trial dialogs appear if two separate 4D
processes accessed ObjectTools during startup. This has been fixed.
* Resource number conflicts between ObjectTools with QuickCode Pro have
been resolved.
* OT GetRecord will now work with a record which has been created but not
saved.
* The error handler will now correctly receive the strings in parameters $1
and $2.
* The documentation now documents the third parameter in OT ObjectToBLOB.

Changes/Enhancements
* The demo now writes platform-specific line endings in the leak log
* Added some help tips to the object editor

Pricing & Availability
ObjectTools for Macintosh or Windows…………………$149.95
ObjectTools Bundle (Macintosh and Windows)……………$199.95

About Automated Solutions Group

Based in Huntington Beach, California, Automated Solutions Group provides
software development and consulting services. Founded in 1989, Automated
Solutions Group develops and supports a wide variety of software
development tools to aid in the creation of custom applications for the
Macintosh and Windows platform. For more information, please visit our home
page at http://www.asgsoft.com.