|







|
|
This page contains the version history for the RiverSoftAVG Common Classes
Library. This library is used by all RiverSoftAVG products.
------------------------------------------------------------------- December 11, 2011 Version 4.0 - Added support for Rad Studio XE2, Win32 and Win64 - Added RSMaxListSize constant - Changed TRSTag to be a NativeInt type - Added TRSNativeInt type (.NET=Integer, WinXX=NativeInt) - Added TRSNativeFloat type (Win32=Single, Win64=Double) - Added TRSDWordFiller record type for filling records for changing 32bit/64size size records - Added padding for 64-bit message records - Changed TRSGraphNode.InternalTag from Integer to TRSTag type - Changed uses of MaxListSize to MaxInt div SizeOf(TYPE) - 1 - Fixed Pointer to Integer Casts to use TRSNativeInt - Changed TGGraphNode.WorkTag from Integer to TRSTag type - Changed uses of MaxListSize to RSMaxListSize - Changed TGValue.AsFloat to be TRSNativeFloat (Win32=Single,Win64=Double) - Changed TRegExState.NextStateX to TRSNativeInt
------------------------------------------------------------------- September 29, 2010 Version 3.9 - Added support for Rad Studio XE
-------------------------------------------------------------------
Sept 7, 2009 Version 3.8 - Added support for Delphi 2010 - Changed help file(s) from WinHelp to HTML Help. Note that there is a known issue with the display to Delphi links (available with WinHelp but not HTML Help)
-------------------------------------------------------------------
Jan 31, 2009 Version 3.7 - Added support for Delphi 2009 (Final) - Turned off range checks around ColorToRGB function to avoid range check errors - Fixed DrawShape for beveled rectangles - Added ss3DRectangle, ss3DEllipse, ss3DDiamond, ss3DLeftTriangle, ss3DRightTriangle, ss3DUpTriangle, ss3DDownTriangle, ss3DRoundRect, ss3DSquare, ss3DCircle, ss3DRoundSquare to TRSShapeStyle - Added Frame3DExt function for creating the 3D frame for an rectangle - Added Frame3DEllipse function for creating the 3D frame for an ellipse - Added TRSShapeStyles type - Added ShapeStyles3D constant - Added InCenterPoint function to get InCenter Point of a triangle - Changed DrawShape functions to return the non-beveled part of the drawing rectangle - Added CenterRect function, which creates a rectangle centered around a point - Fixed IntersectRect function to detect intersection when intersection is single point that equals
-------------------------------------------------------------------
Dec 21, 2008 Version 3.7B2 - Changed Install Directory to C:\Comps\RiverSoftAVG to reduce chances of too long path names - Changed behavior of TGTextStream.SetEncoding method to set PreambleStreamed flag to True if new encoding <> nil (Assumption is that if you already know the encoding, you read the preamble or it doesn't exist (e.g., coming from a string control)) - Added optional Encoding parameter to TGTextStream constructors - Fixed behavior where TGTextStream detects if it is working with a TStringStream and then uses its encoding - Added optional Encoding parameter to WriteStringToStream function - Added WritePreambleToStream function - Added RSUpperCase and RSLowerCase inline functions to handle correct calls for .NET or Win32 - Changed AnsiUpper/LowerCase to use inline RSUpper/LowerCase which uses the correct call to avoid warnings in .NET, but still uses AnsiXXX for Win32 - Added overloaded constructor to TRSStringStream for D2009 - Changed TRSStringStream to use TEncoding.Unicode for default encoding
-------------------------------------------------------------------
Nov 23, 2008 Version 3.7B1 - Changed AnsiPos calls to Pos calls - Added CharInSet, IsLetter, IsLetterOrDigit, IsUpper, IsLower and IsDigit functions for pre-Delphi 2009 compilers - Added IsNumberChar function - Added IsNumberSymbol function - Fixed TGTextStream.GetChar method to correctly read 1 character without causing a PutBack overflow exception - Fixed access violation in TGTextStream.GetChar for D2009 by adding check for reading 0 bytes - Added set expressions to use CharInSet - Changed Upper/LowerCase to AnsiUpper/LowerCase, because the Ansi version handles Unicode (go figure)
-------------------------------------------------------------------
Nov 16, 2008 Version 3.7B0 - Added support for Delphi 2009 - Modified classes to avoid warnings about collisions with new methods added to TObject (D2009/.NET) - Added tkStringType to distinguish between pre-Delphi2009 default string type (tkString) and post-Delphi2009 default string type (tkUString) - Added TRegExChar and TRegExString, which are AnsiChar and AnsiString for UNICODE (.NET and D2009) and Char and String for Win32 - Changed all occurrences of AnsiChar and AnsiString to use TRegExChar and TRegExString respectively - Fixed small warning generated in D2009 in RotateFont function - Fixed code for VType's of Int64, WideString, and UnicodeString in TGValue - Added TGCustomValue.AsWideString property and methods - Fixed HelperFunctions.WriteStringToStream to handle unicode strings - Modified stream classes to work with Unicode and D2009 - Modified stream classes to avoid warnings about collisions with new methods added to TObject (D2009/.NET) - Updated TGTextStream.WriteArgs to handle Int64, WideStrings and Unicode strings - Fixed bug in TGBufferStream.FillBuffer which would cause subsequent PutBack call to fail if at end of stream - Added SPreamblePastEof resource string - Changed return type of TGBufferStream.FillBuffer from boolean to integer - Added TGBufferStream.PrepareBuffer method - Added overloaded TGBufferStream.PutBack(Byte) and PutBack(Char/WideChar) methods - Added ability for TGTextStream to read/write non-default encoded files in Delphi 2009 or later - Added protected TGTextStream.PreambleSize method and PreambleStreamed property - Added TGTextStream.Encoding property for Delphi 2009 - Changed return type TGTextStream.GetChar method to Char from AnsiChar - Added overloaded TGTextStream.GetChar(Char) method - Added TGTextStream.SeekExcludePreamble method
-------------------------------------------------------------------
Feb 09, 2008 Version 3.6.2 - Added PreserveSignBit property and code to encode/decode numeric values with or without the sign bit - Fixed GetAsFloat/Double and SetAsFloatDouble to encode floating point values properly (or attempt to) even when the len is less than 32 bits
-------------------------------------------------------------------
Oct 06, 2007 Version 3.6.1 - Added RAD Studio 2007 .NET Support - Added RAD Studio 2007 support to installer - Added TSortedCollection to Structures.pas
-------------------------------------------------------------------
Jun 23, 2007 Version 3.6 - Added Delphi 2007 support to installer - Added support for the for-in language construct in TGGraphNode (Edges) - Added support for the for-in language construct in TGLabelGraph (Nodes) - Added support for the for-in language construct in TGLabelGraph (Nodes) - Added support for the for-in language construct in TGCustomLinkedList - Overrode TGStringQueue.Assign method to correctly copy TStrings into the queue - Added support for the for-in language construct in TGCustomHashTable class (Keys) by adding GetEnumerator public method and adding GetCurrent and MoveNext methods to TGHashTableEnumerator - Added support for the for-in language construct in TGStringHashTable class (Keys) by adding GetEnumerator public method and adding GetCurrent and MoveNext methods to TGHashTableEnumerator - Added support for the for-in language construct in TIHashTable - Added support for the for-in language construct in TIStringHashTable - Added support for the for-in language construct in TIFixedList - Added support for the for-in language construct in TGInterfaceList - Added support for the for-in language construct in TIList - Added DrawTextLabel function in RSGraphics.pas - Added GetMultilineTextHeight function in RSGraphics.pas - Added WrapCanvasText functions in RSGraphics.pas - Improved installer
-------------------------------------------------------------------
Feb 8, 2006 Version 3.5 - Added IsMatchStr and IsMatchText function to HelperFunctions.pas - Added FindMatchStr and FindMatchText function to HelperFunctions.pas
-------------------------------------------------------------------
Dec 22, 2005 Version 3.5b9 - Fixed hang bug in TGTextStream.GetChar introduced in Delphi 2006 by initializing result in the GetChar instead of the Read. (Thanks P.G.) - Added RSAnsiContainsStr, RSAnsiContainsText, ExtractWord, TitleCase, and overloaded FindTreeNode functions to HelperFunctions.pas - Added AnsiStartsStr, AnsiEndsStr, AnsiStartsText, and AnsiEndsText functions to HelperFunctions.pas for Delphi 5 - Added TRSPoints to RSGraphics - Added TConnectionPoint to RSGraphics - Added GetPointOnRect and GetRSPointOnRSRect functions to RSGraphics.pas
-------------------------------------------------------------------
Dec 11, 2005 Version 3.5b8 - Official release for Delphi 2006
-------------------------------------------------------------------
Nov 22, 2005 Version 3.5b7 - Fixed Common.hlp file - Fixed "See Also" topics which had disappeared - Cleaned up Table of Contents
-------------------------------------------------------------------
Nov 8, 2005 Version 3.5b6 - Installers have had a massive overhaul - Compiled files are now installed to <INSTALLDIR>\Bin\W32\Dxx or <INSTALLDIR>\Bin\NET\Dxx and path is updated WARNING: BE SURE TO UNINSTALL PREVIOUS FILES WHICH MAY BE IN $(DELPHI)\Projects\Bpl DIRECTORY - Attempts to detect if evaluation or full versions are being installed and warns about incompatibilities - Smarter updates of registry - Added missing registry updates (Package Search Path, Namespace Search Path, etc) - Added more text to help file
-------------------------------------------------------------------
Oct 18, 2005 Version 3.5b5 - Fixed distribution to include some missing files
-------------------------------------------------------------------
Oct 5, 2005 Version 3.5b4 - Fixed bug in TGCustomLinkedList.Insert where LastAccessedIndex and LastAccessedNode were not always getting updated correctly - Added NumberOfOnes and NumberOfZeros methods to TRSEncodedBits - Added Arrow Width to DrawArrow routine in RSGraphics unit
-------------------------------------------------------------------
Sept 26, 2005 Version 3.5b3 - Changed Win32 VCL package numbers to 3.5
-------------------------------------------------------------------
Aug 31, 2005 Version 3.5b2 - Modified properties and added accessor methods of interfaces to use underscore in order to get rid of annoying .NET hint
-------------------------------------------------------------------
June 27, 2005 Version 3.5b1 - Changed RSGraphics.TRSPoint and TRSRect to be packed records - Changed RSGraphics.TRSPoint and TRSRect to be safe types in .NET - Fixed index caching bugs with hash table, would cause access violations in certain situations
-------------------------------------------------------------------
June 2005 Version 3.5b0 - Finished modificatons to work with .NET - Created RSConstants.pas file, which includes basic types and constants. Some of these constants and types were moved from IEConsts.pas and FuzzyConsts.pas Among the most important new types: - TRSPointerType, which equals Pointer in Win32 and TObject in .NET - TRSStringPointerType, which equals PChar in Win32 and String in .NET - Modified most files to: - Include RSDefines.inc - Include RSConstants.pas - Changed all methods and properties that use IUnknown interface to use IInterface interface. Added IInterface interface for Delphi 5 support - Changed all QueryInterface calls to use Supports functions. - Removed reference counting code for .NET (not needed) - Changed ToString properties to AsString and GetToString methods to ToString to sync better with .NET (in which all objects have ToString method) - Changed Tag properties to be of TRSTag type (Win32=Integer;.NET=Variant) - Introduced TxxxPersistent class to get around a delphi compiler bug with class helpers (QC report #11019) - Added inherited Creates calls to constructors for compatibility with .NET - Deleted AfterConstruction and BeforeDestruction methods (for .NET) - Extracted icons from DCR files to create assembly bitmap files for design-time icons in .NET - Conditional compiled IUnknown methods (_addref, _release...) because they are not needed with .NET RiverSoftAVG Common Classes Library (GCollections package in Delphi 5, 6, and 7; RSCommon package in Delphi 2005 (Win32) and RiverSoftAVG.Common assembly in VCL.NET) - Created TRSEncodedBits class (in RSEncodedBits.pas), a TBits descendant with methods to encode/decode simple types into the TBits - Modified InterfaceCollections.pas - Modified TGInterfaceList to descend from TPersistent - Modified descendants of TGInterfaceList to correctly override methods - Modified list classes to use a dynamic arrays instead of a pointer to such an array (as used for Win32). The pointer implementation was left for Win32 since it is faster than the dynamic array implementation - Changed DEMO out of memory errors to use standard Exception, instead of EOutOfMemory exception, which (contrary to help file) seems to have disappeared from the SysUtils unit - Modified HelperFunctions.pas - Added WriteStringToStream function - Added SameValue and Supports functions for Delphi 5 - Added CreateObjectClass and ClonePersistentClass methods - Modified GStreams.pas - Added Close method to TGBufferStream (useful for .NET) - TGSpecialFiler is not available for .NET (because can't crack protected methods of TReader/TWriter) - Modified GRegularExpression.pas - Modified String references to AnsiString references (for .NET compatibility). The Regular Expression object must use AnsiString (one byte characters) because it uses set operations which do not work with wide chars. - Modified GParser.pas - Changed StrScan calls to Pos, even though StrScan is faster it is not .NET compatible - Modified GLists.pas - Added TQOrderedList class, which is base class for the TQxxx stacks and queues, and TQOrderedListClass type. These classes are useful because they have a virtual constructor, unlike Borland's classes - Modified GHashtable.pas - Modified TGCustomHashTable to use a dynamic array of hash table entries (THashtableEntries) instead of a pointer to such an array (as used for Win32). The pointer implementation was left for Win32 since it is faster than the dynamic array implementation - Modified GGraph.pas - Changed TGCustomGraph.AddNode method visibility from protected to public (.NET does not like changing visiblity with methods) - Modified DataStructures.pas - Added TFloatHeapElement, TFloatHeap, and TFloatPriorityQueue classes - Changed TPriorityList.OrderedListClass to use GLists.TQOrderedList instead of Borland's classes because we can't get to the items of the list quickly - Modified Structures.pas - Added overloaded AddObject method to TGStringList - Added RSGraphics.pas, moved from internal development package to common classes library. Modified RSGraphics.pas as well: - Added RSCenterPoint functions - Added DrawPieSlice procedure - Added DrawArrow procedure and TArrowOption types - Changed Gradient functions to accept an open array of TColor, instead of TColors - Moved TObjectSize from Game.pas to RSGraphics.pas - Created hierarchy of TRSCustomRect, TRSObjectRect, and TObjectSize - Added TRSRect, TRSPoint and functions to manipulate them - Added overloaded DrawShape procedures and TRSShapeStyle type - Fixed LineGradient to handle "reversed" TRects (left > Right, etc) - Fixed RotateFont to change font name if font is not a true type (and wouldn't thus rotate) - Added GetRotatedTextExtent function (Delphi's Canvas.TextExtent does not work for rotated fonts)
-------------------------------------------------------------------
March 2005 Version 3.4 - Added RSConsts.pas and DataStructures.pas to package
-------------------------------------------------------------------
January 2005 Version 3.3 - Modified to work with Delphi 5, 6, 7, and 2005 (Win32) - Added RSDefines.inc to simplify updates for new versions of Delphi - Modified source files to use RSDefines.inc - Renamed GCollections package to RSCommon package for Delphi 2005 ONLY - Modified source files to work with .NET (Incomplete)
-------------------------------------------------------------------
May 2004 Version 3.2 - Added RSGraphics and RSVector units to Common library
-------------------------------------------------------------------
March 2004 Version 3.1 (First Separated History for Common Library) - Added code to TGCollection and TGCollectionItem to attempt to mimic notifies like Delphi 6 and 7 collections - Added IVector interface - Changed ILocation interface to descend from ICloneable - Installation script is much smarter about managing the different Delphi versions
|