================================================================================== Protection Plus Professional (PPP) Version 4.04 This file last updated January 7, 1998 Copyright 1997 by Concept Software, Inc. 1017 Woodall Drive Altamonte Springs, FL 32714-7225 USA Voice (407) 786-4457 Fax (407) 786-4458 Internet-WWW http://www.consoft.com Internet-Email support@consoft.com ================================================================================== This document contains release notes for Protection Plus Professional (PPP). Information in this document is more current than that in the manual or online Help. ------------------------------------ How to Use This Document ------------------------------------ To view README.TXT on screen in Windows Notepad, maximize the Notepad window. To print README.TXT, open it in Windows Write, Microsoft Word, or another word processor. Then select the entire document and format the text in 10-point Courier before printing. ------------------------------------ Using the CA-Clipper DOS library ------------------------------------ When linking your application with KEYCLP.LIB, you must increase the stack space. Most linkers have a parameter called STACK where you can specify the size of the stack linked in with the application. We have tested the library successfully with a stack of 8096 (8K). Your stack requirements may vary. Sample applications are not available for CA-Clipper yet. When they are available, they will be posted to our web page at http://www.consoft.com/support. Due to CA-Clipper function name lenght limitatinos, the function pp_nencryptx() is actually pp_nencryx() and the function pp_ndecryptx() is actually pp_ndecryx(). ------------------------------------ Release Notes - New in Release 4.04 ------------------------------------ Documentation Enhancements Added documentation for new functions pp_nencryptx() and pp_ndecryptx(). Enhancements to the Questions and Answers section. Miscellaneous other changes, and enhancements. KeyLib New Features / Enhancements New functions - pp_nencryptx() and pp_ndecryptx(). These functions can be used to encrypt / decrypt up to four numbers using a user-defined seed. The encrypted data is a long character string, not another number. Also, the full range of a number can be used, unlike pp_nencrypt() / pp_ndecrypt(). KeyLib Bugs Fixed In build 4.03 only, the functions pp_hdserial() and pp_compno( COMPNO_HDSERIAL ) had a problem that caused sporadic application GPFs. This was corrected. LFEdit New Features / Enhancements On Enterprise Edition only multiple PRODUCT.PD files may be used. Previously if the user tried to use a different PRODUCT.PD file LFEdit would complain that the Product Definitions were corrupt. A new dialog was added under the Tools menu that uses the new pp_nencryptx and pp_ndecryptx functions. The Trigger Code Display dialog now displays the customer's system date as determined from the Code Entry Number. When generating Trigger Codes a bit edit dialog is available for the Additional Number. The last Computer Number used to generate a Trigger Code is saved and used as a default value if more Trigger Codes are generated. ------------------------------------ Release Notes - New in Release 4.03 ------------------------------------ Sample Code Problems Fixed In the Delphi samples, the ".DLL" extension was added so that under Windows NT 4.0, the "cannot find library" message does not appear. Eliminated the "Error Loading Symbol Table" that sometimes occured when loading the Delphi project. In the Delphi and VB samples DLL declarations, pp_bitset had the wrong data type (ByRef instead of ByVal). The BasicCP sample in VB3 used PPP4E.BAS instead of PPP4.BAS. KeyLib Bugs Fixed The function pp_copyadd() would return ERR_SLOT_ALREADY_ASSIGNED if you passed a duplicate computer ID even through the flag COPYADD_ERASEALL was passed. The function pp_filedelete() would return ERR_CANNOT_CHANGE_ATTRIBUTE when the error ERR_FILE_MISSING should have been returned instead. The function pp_libtest() would return the wrong value when an invalid challenge number was passed. When using pp_transfer(), variables stored in authorized computer's license file were lost during the transfer. They are now preserved. The library better handles multiple stations on a network reading and writing the License File. The function pp_semopen() now opens the file in read/write mode so that the developer may "tickle" the semaphore by occasionally writing to the file and also so that Windows NT will not let more than one station open the file exclusively. LFEdit New Features / Enhancements The auto numbering of the serial number has been modified. Once the License File is saved the serial number field will remain in mode. This is convient when saving a License File to multiple disks. When ever the field has an in it then the next save will retrieve the next serial number from the product definition and will use that number. If no exists then that number will always be used. To place the field into auto simply delete all characters. LFEdit for Distributors ONLY: Trigger Codes 41 - 50 now subtract the additional number from the total Trigger Count instead of subtracting one. LFEdit Bugs Fixed Large numbers would lose some of the least significant bits upon entering the bit edit dialog for user-defined numbers. Dates were not displayed correctly when using date formats with the year shown before the day or month. ------------------------------------ Release Notes - New in Release 4.01 ------------------------------------ The 16-bit library version 4.01 fixes the following problems: Under Windows 3.1, the HDSERIAL algorithm returned 0. Also, under Windows NT, an error message about directly accessing the hard disk would appear under certain circumstances. Both of these problems have been fixed. Also, when using pp_lfcopy() to copy License File data from a File to the Windows Registry, a return code of ERR_MEMORY_LOCK could occur. This has been fixed. When using LFEdit Enterprise Edition along with the sample data, an error message saying that the product definition or sample data file was corrupted may occur. Multiple entries of the same file could appear in the Most Recently Used file list. Also, the Phone2 field of the License File was not saved properly. These have been fixed. ------------------------------------ Release Notes - Other ------------------------------------ When using LFEdit with the Sample Data option enabled (accessed under Tools/Options Use Sample Data), cannot be saved when exiting the program. This data can be freely modified while using LFEdit but again will not be saved. ------------------------------------ Documentation Errata ------------------------------------ Under the section Operating System Compatibility, the Win32 DLL should indicate that COMPNO_HDSERIAL is not supported under Win32s. ------------------------------------ Sample Applications Release Notes ------------------------------------ The file SAMPLE.INI is installed in C:\ by the installation program. This file is required by the Microsoft Access, Delphi, and Visual C++ sample applications. If you know how to calculate the working directory of your application or data files, the sample code can be altered to look in that directory instead of C:\. It is best to use LFEdit to create this file. LFEdit has a mode under Tools/Options called Use Sample Data. This option will load a series of Product Definitions which have the descriptions in place for all of the sample application Trigger Codes. Visual C++ ========== The Visual C++ samples refer to KeyLib.H and the KeyLib16.DLL or KeyLib32.DLL. Before building the project, you must set the Tools/Options Directory tab to point to the directories where you installed PPP. This includes both the Include and Library file options. Access ====== The access samples were developed for Concept Software, Inc. by Brian Polaski. Brian is a PPP user and specializes in Access development. He can be reached by e-mail at 71371.2476@compuserve.com and is available as a consulting for PPP and non-PPP related issues.