In late 2005 Delphi 2006 (Delphi 10, also Borland Developer Studio 4.0) was released combining development of C# and Delphi.NET, Delphi Win32 and C++ (Preview when it was shipped but stabilized in Update 1) into a single IDE. It was much more stable than Delphi 8 or Delphi 2005 when shipped, and improved further with the release of two updates and several hotfixes. Delphi 2006 included:
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)
delphi xe2 update 4 hotfix 1 crack
2ff7e9595c
Comments