Author: Dave Lyons
Year: 1990
... explains how applications should find configuration and other application-related files.
Apple II
Technical Notes
_____________________________________________________________________________
Developer Technical Support
GS/OS
#10: How Applications Find Their Files
Revised by: Dave Lyons September 1990
Written by: Dave Lyons January 1990
This Technical Note explains how applications should find configuration and
other application-related files.
Changes since January 1990: Stated explicitly that the @ prefix is useful
only to applications.
_____________________________________________________________________________
When an application is launched, GS/OS sets prefix 9 to the application's
parent directory. It also sets prefix 1 to the same directory if the length
of the pathname is within a 64-character limit. It does not set prefix 0 to
any special value.
If your application uses a partial pathname and depends upon prefix 0 to find
files at the same directory level, it may be working by accident (prefix 0 is
accidently set to the right directory), and sooner or later it won't work.
If your application needs to load a file named TitleScreen, the best way is to
use the pathname 9:TitleScreen. If you just use TitleScreen, you are using
prefix 0, and you may or may not be looking in the right directory.
Files storing user-specific data should be stored in the at sign (@) prefix--
this is just like prefix 9, except that it is set to the user's user folder on
an AppleShare server if the application was launched from a server. Use
@:MySettings rather than 9:MySettings or MySettings. (If you want to retrieve
the value of the @ prefix, you can call ExpandPath on the pathname "@:".)
Note that the @ prefix was introduced in System Software 5.0.
The @ prefix is useful only for applications, not for Desk Accessories, CDevs,
initialization files, or anything else; this type of code can get the path of
the user's folder by using the AppleShare FST's FST-Specific call GetUserPath.
Further Reference
_____________________________________________________________________________
o GS/OS Reference
o AppleTalk Technical Note #8, Using the @ Prefix