A List Pascal Adaptation Kit
Sebastiano Pilla, Pascal Programmer


A List Pascal Adaptation Kit

January 1999
Sebastiano Pilla



This is the documentation for the Pascal Adaptation Kit of The A List, a freely available List Manager replacement written by
Kyle Hammond.

From the original A List ReadMe:

The A List is a list manager library for the Mac OS. It was designed to overcome the limitations of Apple's List Manager. The main improvements include...

...and more!

The
A List homepage has the full documentation and the latest updates for The A List.

Download the entire A List Pascal Kit - includes libraries and sample code, projects and applications.


Licensing The A List

The A List is currently distributed as "almost-free"-ware. The cost of including it in your programs is:


The above conditions also apply to the Pascal adaptation kit.


Contents of the Adaptation Kit

AList 68K Libraries
Static libraries for 68K development using THINK Pascal

AList 68K THINK C Projects
THINK C project files used to build the above libraries (you'll need the original C sources to rebuild the libraries)

AList Demo (CW Pascal)
AList interface files, Pascal code and MetroWerks CodeWarrior 10 projects (for both 68K & PowerPC targets)
AList Demo (THINK Pascal)
AList interface files, Pascal code and THINK Pascal 4.5d4 project

How to use the A List from THINK Pascal

  1. Add the following interface files to your THINK Pascal project:
LongCoords.p       
TheAList.p      
  1. If you're targeting any 68000 family processor, add the following libraries to your THINK Pascal project:
AList 1.1.Lib1
AList 1.1.Lib2 
or, if you're targeting the 68020 or newer processors add the following libraries to your THINK Pascal project: 
AList 1.1.Lib1 020 
AList 1.1.Lib2 020


How to use the A List from CodeWarrior Pascal

  1. Add the following interface files to your CW Pascal project:
    LongCoords.p
    TheAList.p
  2. Create a new group named "A List" into your CW Pascal project, and add the following files to it:
    ALBirthDeath.c
    ALCellData.c
    ALDrawing.c
    ALEditing.c
    ALHeirarchical.c
    ALKeyboard.c
    ALMouse.c
    ALScrolling.c
    ALSelecting.c
    ALSelectors.c
    ALUserPane.c
    ALUtilities.c
    LongControls.c
    LongCoords.c 
  3. Create a new prefix file for the C compiler and add the following line:
#define ALIST_USE_PASCAL_CALLING 1     

Alternatively, you can compile the C sources for the A List into a static library to be imported into other CW projects; I haven't built the A List as a CW library because I was worried about possible incompatibilities of library formats between the various CW versions.

      

Notes

I'm open to input from users of this Pascal adaptation kit: I'm particularly interested about interface issues and compatibility with newer CodeWarrior Pascal compilers. In this version I have used the {CONST}VAR idiom as in Apple's Universal Interfaces: should I switch to the MetroWerks-only "const" qualifier? Should I keep maintaining two interface files, one for THINK Pascal and another for CW Pascal, or should I merge the two files into one?

Any comments, thoughts, and bug reports about the Pascal adaptation kit should be sent to
Sebastiano Pilla.

Correspondence about the original C A List implementation should be sent to
Kyle Hammond.


Copyright © 1999 Sebastiano Pilla. All Rights Reserved.