115 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
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.
 | 
						|
 |