Change History for "CodeBase Components III" =========================================== Version 3.22 is the first public release of the version 3.x product. *** Release of version 3.22 The AppendFromSDF method would not include character fields if the length of the character field in the "From" file was less than the field length in the "To" file. This has been FIXED in both the components and in CBFiler. Added large file support as a property of the CBEngine component, and on the "Preferences" page of CBFiler. *** Release of version 3.23 Modified CBTableSet.CreateTable to open the new file after it has been created. This now conforms to the behavior of CBTable, and the documentation. Recreated C4DLL.LIB to match to currently shipping CodeBase 6.5 C4DLL.DLL file. (The previous one was built against a pre-release library and could cause an access violation if using C++ Builder). Modified the "Installation Notes" to reference Apollo versions prior to version 4.6 as being the ones where installation conflicts may occur. Modified CodeBase.pas to match the currently shipping C4DLL.DLL. "Out-of-Range" errors could occur if using the "DataSet Model" and range checking enabled on your compiler's options page. This has been FIXED. C++ Builder users targetting their applications for client/server use previously could receive and "Access Violation" error if they used the included "C4DLL.DLL" import type library. This library was built against the desktop version of that DLL. Now, a "C4DLLCS.LIB" import type library has been included if you are targetting your application for client/server use. "C4DLLCS.LIB" has been built against the client version of C4DLL.DLL. If using LocateByExpr in the CBTableSetComponent with the "StartAtTop" parameter set to false, it may not start or re-state the locate process at the current record. This has been FIXED. *** Release of version 3.24 There was a problem using the "Original Model" CBGrid component connected to CBQuery as its source. This has been FIXED. If using CBMemSet, connected to a CBTableSet or CBQuerySet as its source component, the design-time field components might not have been visible in the "Fields Editor" if the source component was not active. This has been FIXED. The "CloseAndRemove" method of CBTableSet could have caused an "Access Violation" if "Close" was not immediately called after its use. This has been FIXED. *** Release of version 3.25 A memory de-allocation error could occur when opening files under Win2000. This has been FIXED. CBFiler has been re-compiled with the above fix. CBFiler is now able to connect to CB Servers that have been stamped with Sequiter's "License Stamp Utility". *** Release of version 3.26 If using multiple tables components connected to a single underlying data file, a delay in index updates could occcur creating a CodeBase -70 error in stand-alone applications. This has been FIXED. The default value for CBEngine.AutoUnlock has been changed from "auOff" to "auAll". It is recommended that this property be manually changed to "auAll" in applications where the old default was used. The value for CBEngine.AutoUnlock has been modified as above in the "CBDemo" demonstration projects. CBFiler has been re-compiled with the above changes. The version 3 help file was not being properly integrated with the IDE's help system if the version 2 help file had previously been installed. This has been FIXED. *** Release of version 3.27 Support for CodeBase 6.5 release 3 has been added. This version uses the updated Codebase.pas from release 3 (if installed) fixing a memory leak in earlier versions of that file. A complete set of import type libraries for C++ Builder have been included for the various versions of CodeBase and index compatibility. Please see the updated "Readme.txt" file for details regarding which one to use. If using Clipper index compatibility, and are opening the same underlying data file from multiple components, an "Index Open Error" could occur. This has been FIXED. CBFiler was re-compiled with the above changes. *** Release of version 3.28 If CBTable.AppendBlank failed due to a locking issue, the function would return a false result (as it was designed) however, CodeBase's internal error code would remain set to -50. This would cause subsequent calls to the CodeBase DLL to fail. This has been FIXED. The CopyToDB3 method incorrectly reported the "Last Modification" date in the xBASE header if this year were >= 2000. The resulting file could not then be opened in Ashton-Tate's dBASE III+. It could, however, be opened with other xBASE tools. This has been FIXED. There was a memory leak in AppendFromDB3 that has been FIXED. In the CBMemSet component, if you reconciled to TableSet components where only a sub-set of TField objects were defined, an error would occur. Thishas been FIXED. If attempting to append a data-file with "AppendFromDB3" with no records, you may receive a "File Stream Error". This has been FIXED. Modified the code to eliminate compilation warnings. Updated the import type libries for C++ Builder to reflect the latest "release 3" version of the CodeBase DLLs. Added support for Delphi 6. *** Release of 3.30 If multiple search fields and keys were passed to CBMemSet.Locate, an "Index out of bounds" error would occur. This has been FIXED. *** Release of version 3.31 There was a possibility that if modifications were cancelled in a DataSet component, the record pointer would change to the first record in the index tag. This has been FIXED. Added support for C++ Builder 6 *** Release of version 3.32 There was a problem found in the package for the "Original Model" components for C++ Builder 6, resulting in an incorrect build of that package. This has been FIXED. Updated the CodeBase 6.5 (release 3) import type libraries to reflect the latest versions of the C4DLLs posted to Sequiter's web-site. The CBDemo program for C++ Builder 6 was still referencing (in error) the CBuild5 library directory. This has been FIXED. The CBMem.obj was not properly being included into the CBCCBx.lib import type library. This has been FIXED. The FAQ.txt file has been updated. *** Release of version 3.33 CBMemSet.Locate could incorrectly position the dataset on a record that does not meet the locate condition. This has been FIXED. CBMemSet.Go incorrectly reported an invalid record position if you attempted to go to the last record in the record-set. This has been FIXED. Improved "ValidRecord" to report false when no records are present in a CBMemSet component. *** Release of version 3.34 Using "ReplaceBinary" in a CBTableSet, CBQuerySet, or CBMemSet did not properly fire the "TField.Change" event. This has been FIXED. In CBTableSet and CBQuerySet, you could not delete records in while the DataSet was in EDIT mode. This has been FIXED. If you attempted to set a filter using an xBASE filter expression of more than 255 characters, you would get an "Access Violation" error. This has been FIXED. *** Release of version 3.35 BLOB fields were being typed as "Binary Double" instead of dBASE IV's "Memo/Bin" type if you were using dBASE IV compatibility in Client/Server. This has been FIXED. The "Un-Check All" button in CBFiler's Print Form (Fields Tab) incorrectly checked all fields (instead of un-checking them). This has been FIXED. *** Release of version 3.36 Added support for Delphi 7. *** Release of version 3.37 If you are using the most recent version of the C4DLL.DLL from Sequiter, the "CreateTable" method would cause a CodeBase error to occur. This has been FIXED. CBFiler has been updated to avoid the above error. *** Release of version 3.38 If you were using multiple components pointing to the same underlying data file, and were using non-production indexes, these non-production indexes could be opened twice leading to multiple-entries of the same record in the index tag order. This has been FIXED. *** Release of version 3.39 Some xBASE products (other than CodeBase and the CodeBase Components) may store Floating-Point fields (specified by the "F" field type) as scientific notation in the xBASE buffer. If this was the case, the components would return an incorrect value for these fields. This has been FIXED. If you attempt to replace a Numeric or Floating point field with a value that exceeds the length or decimals specification in the field definition, the components will now store a string of asterisks "*"s as does other xBASE products. *** Release of version 3.40 A problem was found in the implementation of the Blob Streaming system. It would cause incorrect BLOB writes to a BLOB or MEMO field for data more than 64K in size. This has been FIXED. *** Release of version 3.41 Two memory leaks were found when opening and closing files. The first was corrected in the CodeBase Components source code. You may avoid the second memory leak by ensuring that you use CodeBase 6.5 (release 3) and run or re-run the CBComps Setup wizard with this selection. When importing CSV files into a table, if a string value contained an embedded comma, that comma was dropped from the imported field. This has been FIXED. CBFiler was re-compiled to take advantage of these fixes. In CBFiler, if you did a batch replace where the target field was part of the controlling index, there was a possibility that records could be skipped from the "Replace All". A similar problem could occur with "Delete All" and "Recall All". This has been FIXED. *** Release of version 3.42 CBTable.ReplaceString has been modified so that it may also be used to replace memo fields. In older version you needed to use "ReplaceMemo" to replace memo fields. If the space bar was used to select buttons in CBNavigator, CBNavigator would interpret the space bar as two clicks instead of one. This has been FIXED. *** Release of version 3.43 A PDF version of the documentation has been included in the file, "CBC3Man.pdf". If a TCBMemSet component were reconciled while an index tag was active utilizing an index tag filter, and if those records to be reconciled are excluded from that index tag, those records would not be reconciled. This has been FIXED. *** Release of version 3.44 When using "AppendFromCSV" to append an ASCII comma-separated file to a DBF file, if a date value were encounted in a CCYYMMDD format, a run-time exception could be raised. This has been FIXED. ' Again, when using "AppendFromCSV", delimited string fields may be impoted with preceeding blanks. This has been FIXED. CBFiler has been re-compiled to include the above fixes. *** Release of version 3.45