The project is the encapsulation of 7-Zip functionality in a DLL that can be called by any Windows application (and specifically, a Delphi application). The requirements for the DLL are as follows:
1) Use STDCALL/WINAPI calling conventions
2) Provide callback parameters for events
3) The DLL must encapsulate the ENTIRE 7-Zip functionality. Base starting projects can be the 7-Zip GUI project, or the 7-Zip Command Line project. In particular:
- listing of files inside archives. if archive is password protected, a callback must ask for the password.
- random decompression of files inside archives. files across multiple different folders inside an archive should be decompressed in a single pass. callbacks must provide extraction progress, the name of the file being extracted, the opportunity to cancel the operation, handlers for overwrite actions (skip/always/never), and the ability to obtain passwords for encrypted files.
- random compression of files into archives. any collection of files should be compressed in a single pass. for instance, some files can be compressed recursively, others non-recursively, in a single operation. the full range of compression parameters in 7-Zip must be available for the compression operation, as well as callbacks for progress reports, etc.
4) An example Delphi project that shows/tests the DLL.
5) The DLL should be written in Visual C++ 6.0/7.0, using the downloadable 7-Zip sources as a starting point.
6) The DLL will work with 7-Zip installed on the target system (it requires 7-Zip).
7) The DLL should support all archive types that are supported by 7-Zip. This is already automatically available with the console or gui 7-Zip projects as a starting point.
For more information about 7-Zip, visit <[url removed, login to view]>.
In essence, this project is simply converting existing 7-Zip code, which already works exactly as required above either from the command line or from a windowed interface, into a DLL. All the existing behavior is already provided - you just need to package it into a DLL, and instead of outputting progress to a console/window, feed it to callback functions that are provided to the DLL.
The owners of this project are NOT associated in any way with 7-Zip.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).
All Win32 Platforms - from Win95Gold to Server2003.