Simplified Interface
--------------------

The simplified archive lib interface isn't mentioned in the manual,
but it does have its own very brief printed manual.  If all you need
to do is insert or extract files from ZIP archive, the simplified
interface is made for you.  Try that first.


Visual Basic 3.0
----------------

The existing simplified interface manual contains some code samples
that will work properly with VB 4.0, but not with VB 3.0.  The samples
on disk have been updated to properly use VB 3.0 and 4.0.

In VB 3.0, the elements in ALZipDir that were of type Byte have been
changed to String * 1.  The data is equivalent, but needs to be accessed
using string constants instead of integers.  This means you need to write:

   If z(i).r = Chr(0)

instead of

  If z(i).r = 0

To help make this easier, we added values called AL_SET and AL_CLEAR
to ARCLIB.BAS.  You can test against those and expect better results.

Visual Basic 4.0
----------------

The ALWinMemory objects no longer work with strings.  Instead, you will
pass and receive byte Arrays.  This is somewhat of an inconvenience, since
you will have to pass a dummy argument to newALWinMemory even if you are
expecting ArchiveLib to supply you with memory.  Sorry.  I have provided
a constant called AL_DUMMY that you can use.

Also, if you pass a byte array to newALWinMemory as an argument, the
memory object will not use that array as its buffer.  Instead, it makes
a copy of that buffer and uses that.  You can get back a copy of the
resulting buffer by calling ALWinMemoryGetBuffer(), which likewise does
a copy.

VB 4.0 uses DLLs AL20FVB.DLL and AL20FVBD.DLL.

Time/Date Stamps
----------------

VB and Delphi programmers don't have the ability to set time and date
stamps using struct *tm, which is what C and C++ programmers use.  So
four new access functions were added to the library:

  ALStorageGetTime()
  ALStorageGetDate()
  ALStorageSetTime()
  ALStorageSetDate()

The functions are documented in CPP_ALL\CXL_STOR.CPP.


MFC examples
------------

There is a directory named EXAMPLES.MFC.  It has a few example programs
that will work with VC++ 4.0.  To build these examples from your
IDE, just Open|Project workspace, select file type of *.MAK, and open
the appropriate makefile.  Then select Tool|Options and add AL200/H
to the list of include directories, and AL200/V40 to the Lib directories.
You should be able to build the projects at that point.

The MFC projects have a slightly modified directory structure, but they
will still work with the environment and Class Wizard.  The only hitch
you might run into is when you are making debug versions of your
project.  These require the debug versions of the library, which you
will have to build from the command line.

Visual C++ 4.0
--------------

Visual C++ 4.0 has four libraries defined that don't show up in the
manual.  They are: ALMFC.LIB, ALMFCD.LIB, AL20MFC.DLL, and AL20MFCD.DLL.
They are designed to work with your MFC projects.  Use these instead
of ALFW.LIB and its siblings.  Also, when using MFC with our DLL, don't
define AL_USING_DLL.  This is contrary to the instructions in our
manual, but is necessary for us to cooperate with MFC's memory leak
checking routines.

Path Stripping
--------------

There are two public mmembers in ALArchive that aren't described in the
manual:

ALArchive::mfStripPathOnInsert.  This is a public member that can be
set manually.  C, VB, and Delphi users can set it via a call to the
new function ALArchiveSetStripOnInsert().  Note that this function
not only strips the path that is stored in the archive, it strips the
path from the entry in the ALArchiveList as well.

ALArchive::mfStripPathOnExtract.  This is a public member that can be
set manually.  C, VB, and Delphi users can set it via a call to the
new function ALArchiveSetStripOnExtract().  Note that this function
not only strips the path that is stored in the archive, it strips the
path from the entry in the ALArchiveList as well.


IBM Visual Age
--------------

You cannot link C files with the DLL versions of ArchiveLib for the IBM
Visual Age C++ compiler.  Until we figure out why not, you will have to
stick with the static libraries for your C projects.

