The following files have been donated to the Public Domain by Dan Thomas:

UnitXref.pas  finds all units used by a program (as far as I can tell)
ProgErr.pas   handles program I/O errors & fatal errors
FilExist.pas  checks to see if a file exists
PathID.pas    combines a path and a file ID



UnitXref makes some assumptions you should know about.

First off, it has a typed constant telling it where to find units & include
files.  You should modify it as necessary for your environment.

Secondly, it expects a reasonable syntax in the source(s) it scans.  For
instance, the following code will probably not be handled correctly:

unit foo; interface uses bar; implementation

In other words, place stuff on separate lines like:

unit foo;
interface
uses bar;
implementation
etc

Thirdly, this unit should handle comments OK.

Fourthly (?), the source files for units are expected to have the extension
of .PAS.

Lastly, it quits scanning the units when it reaches the implementation
section.  The reason: I wrote this unit to help implement a function and
procedure cross-reference.  Only functions and procedures that are in the
interface section can be referenced by other units/programs.

Feel free to change this.

As a matter of fact, feel free to change whatever you want.  Just don't
give me credit for it <grin>.

Be well.

Dan Thomas
Compuserve: 72301,2164
