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.
 | |
| 
 |