Yunqa • The Delphi Inspiration

Delphi Components and Applications

User Tools

Site Tools


products:containers:history

DIContainers: Version History

DIContainers is a collection of more than 100 individual container classes for Delphi (Embarcadero, CodeGear, Borland).

DIContainers v5.13.0 – 22 Nov 2023

  • Support Delphi 12 Athens Win32 and Win64.

DIContainers 5.12.0 – 16 Sept 2021

  • Support Delphi 11 Alexandria Win32 and Win64.

DIContainers 5.11.0 – 5 Jun 2020

  • Support Delphi 10.4 Sydney Win32 and Win64.

DIContainers 5.10.1 – 30 Oct 2019

Delphi compilers with support for the inline directive (starting with Delphi 2005) failed to compile DIContainers *.bpl packages for the Demo and Commercial editions. They generated a “[dcc32 Fatal Error] DIUtils: F2051 Unit DIContainers was compiled with a different version of DIUtils.StrSameIW”. Regular *.exe applications compiled without problems. The DIContainers Source Code also compiled to both *.bpl packages and *.exe applications with no problems.

DIContainers 5.10.0 – 8 Oct 2019

  • Enlarge container capacity to NativeInt.
  • Improve DIUtils.pas Unicode processing to support Unicode Code Points from $000000 to $10FFFF. Adjust remaining source code accordingly.
  • Update DIUtils.pas Unicode functions to Unicode 12.1.0.
  • Remove DI.inc include file. Directly link in DICompilers.inc instead.
  • Remove support for the DI_No_Classes compiler directive.
  • Rename DI_No_Range_Checking compiler directive to DIC_Unsafe.
  • Fix TDIStringTree element type from AnsiString to just String.
  • Fix an “index out of bounds” error when deleting a node with children in the DIContainers_AddressBook demo.
  • Work around some compiler warnings and remove {$WARNINGS OFF} directives, which suppressed them.

DIContainers 5.9.0 – 24 Dec 2018

  • Support Delphi 10.3 Rio Win32 and Win64.

DIContainers 5.8.0 – 3 Apr 2017

  • Support Delphi 10.2 Tokyo Win32 and Win64.

DIContainers 5.7.0 – 7 May 2016

  • Support Delphi 10.1 Berlin Win32 and Win64.

DIContainers 5.6.2 – 15 Sep 2015

  • Support Delphi 10 Seattle Win32 and Win64.

DIContainers 5.6.1 – 25 Apr 2015

  • Add support for Delphi XE8 Win32 and Win64.

DIContainers 5.6.0 – 3 Oct 2014

  • Support Delphi XE7 Win32 and Win64.
  • New TDIInterfaceVector with NewDIInterfaceVector and NewDIInterfaceOwnerVector constructor functions (Delphi 6 and later only).
  • Fix multi-thread problem with TDIItemHandler and TDIKeyHandler reference counting.
  • Minor fixes and improvements.
  • Improved documentation shows inherited class members.

DIContainers 5.5.0 – 28 Apr 2014

  • Support Delphi XE6 Win32 and Win64.

DIContainers 5.1.0 – 17 Feb 2014

  • New NativeInt and NativeUInt containers:
    • TDINativeIntList, TDINativeIntTree, TDINativeIntVector.
    • TDINativeUIntList, TDINativeUIntTree, TDINativeUIntVector.
    • TDIUnicodeString2NativeUIntVector.

DIContainers 5.0.0 – 25 Sep 2013

  • Support Delphi XE5 Win32 and Win64.

DIContainers 4.6.0 – 14 Jun 2013

  • Support Delphi XE4 Win32 and Win64.
  • Fix: Containers created with GetDIUnicodeStringObjectOwnerItemHandler did not free objects.

DIContainers 4.5.1 – 24 Jan 2013

  • Compatibility update with other Yunqa products.

DIContainers 4.5.0 – 4 Oct 2012

  • Support Delphi XE3 Win32 and Win64.

DIContainers 4.1.0 – 9 Nov 2011

  • Support Delphi XE2 Win64.
  • Fix AV when sorting empty TDIVector.

DIContainers 4.0.0 – 15 Oct 2011

  • Support Delphi XE2 Win32 (binary editions) and Win64 (source code edition only right now).

DIContainers 3.3.1 – 20 Feb 2011

  • Add TDIInteger3Vector.
  • Library source code compiles with FreePascal (Win32).

DIContainers 3.3.0 – 28 Sep 2010

  • Delphi XE support.

DIContainers 3.2.2 – 24 Apr 2010

  • New TDIHash high-performance methods:
    • TDIHash.DeleteByKeyNoPack
    • TDIHash.DeleteByKeyNoFreeNoPack
    • TDIHash.PItemOfKeyBufOrInsert
  • Correct some minor documentation glitches.

DIContainers 3.2.1 – 9 Apr 2010

  • New TDIStringList.
  • New TDIString2List.
  • New TDIStringTree.
  • Improved and easier to navigate documentation.

DIContainers 3.2.0 – 17 Dec 2009

  • New TDIStringVector.
  • New TDIStringCardinalVector.
  • New TDIString2Vector.
  • New TDIString2CardinalVector.
  • New TDIStringHash.
  • Fix bugs with WideString / UnicodeString comparisons in FindValueCS / FindValueCI (i.e. for TDIVector containers).
  • Additions and bug fixes to DIUtils.pas.

DIContainers 3.1.0 – 14 Sep 2009

  • Delphi 2010 support.
  • Implement UnicodeString / WideString versions for TDIUnicodeStringVector.LoadNamesFromTextFile and TDIUnicodeString2Vector.LoadValuesFromTextFile, as well as for their respective TDIVector and TDIList classe descendants.
  • Add the missing TDIObjectHash.ObjectAt property.

DIContainers 3.0.1 – 31 Jan 2009

  • Work around an unexpected Delphi 2009 automatic numeric AnsiChar Unicode conversion in DIUtils.pas which caused an error when compiled on a Windows OS set to a non-European (Asian, Cyrillic, etc.) codepage.

DIContainers 3.0.0 – 24 Nov 2008

  • Delphi 2009 support. In older Delphi versions, UnicodeString automatically falls back to WideString.
  • New UnicodeString containers:
    • TDIUnicodeStringHash, TDIUnicodeStringList, TDIUnicodeStringTree, TDIUnicodeStringVector.
    • TDIUnicodeStringCardinalList, TDIUnicodeStringCardinalTree, TDIUnicodeStringCardinalVector.
    • TDIUnicodeStringIntegerList, TDIUnicodeStringIntegerTree, TDIUnicodeStringIntegerVector.
    • TDIUnicodeStringObjectList + DIUnicodeStringObjectOwnerList, TDIUnicodeStringObjectTree + DIUnicodeStringObjectTree, TDIUnicodeStringObjectVector + DIUnicodeStringObjectOwnerVector.
    • TDIUnicodeStringPointerList + DIUnicodeStringPointerOwnerList, TDIUnicodeStringPointerTree + DIUnicodeStringPointerTree, TDIUnicodeStringPointerVector + DIUnicodeStringPointerOwnerVector.
    • TDIUnicodeString2List, TDIUnicodeString2Tree, TDIUnicodeString2Vector.
    • TDIUnicodeString2CardinalList, TDIUnicodeString2CardinalTree, TDIUnicodeString2CardinalVector,
  • New UnicodeString item handler units:
    • DIUnicodeStringItemHandler.
    • DIUnicodeStringCardinalItemHandler.
    • DIUnicodeStringIntegerItemHandler.
    • DIUnicodeStringObjectItemHandler + DIUnicodeStringObjectOwnerItemHandler.
    • DIUnicodeStringPointerItemHandler + DIUnicodeStringPointerOwnerItemHandler.
    • DIUnicodeString2ItemHandler.
    • DIUnicodeString2CardinalItemHandler.
  • New UnicodeString key handler units:
    • DIUnicodeStringCIKeyHandler, DIUnicodeStringCSKeyHandler.

DIContainers 2.3 – 1 Jul 2008

  • New containers:
    • TDIWideStringPointerList, DIWideStringPointerOwnerList.
    • TDIWideStringPointerTree, DIWideStringPointerTree.
    • TDIWideStringPointerVector, DIWideStringPointerOwnerVector.
  • New item handler units:
    • DIWideStringPointerItemHandler, DIWideStringPointerOwnerItemHandler.
  • Improve compatibility for parallel installation with other DI packages.

DIContainers 2.2.1 – 15 May 2007

  • Replace incorrectly compiled HTML Help file with working version.
  • Remove non-interfaced functions from DIContainers implementation section. They caused some Delphi versions to issue irritating hints when DIContainers was compiled into a package.

DIContainers 2.2 – 13 May 2007

  • Delphi 2007 support.
  • Add XP Themes to Demo projects.

DIContainers 2.1 – 28 Dec 2005

  • Added support for Delphi 2006 Win32.
  • Added the the functions MaxNumber and MinNumber the the Number list and vector containers.
  • Fixed a bug where TDIHash.Clear did not reset an internal variable which could result in an access violation when adding new items.

DIContainers 2.0.3 – 14 Oct 2005

  • Added Delphi 3 compatibility to the utility units.
  • Resolved dependency issues when DIContainers is used in parallel with other DI products.

DIContainers 2.0.2 – 31 Sep 2005

  • Fixed a small packaging bug in the Demo edition which unfortunately slipped into the last update. Commercial and Source code editions do not require this update.

DIContainers 2.0.1 – 31 Aug 2005

  • Compatibility with other DI products.

DIContainers 2.0 – 14 Apr 2005

  • Added support for Delphi 2005 Win32.
  • Added support for the new Delphi 2005 for Item in Container do iterator syntax.
  • Multiple speed optimizations:
    • Reduced number of arguments to most of the TDIItemHandler's methods.
    • Faster hash functions for strings and character data.
    • Other, internal speed optimizations.
  • Multiple interface simplifications:
    • Moved some commonly used methods to the TDIContainer level, now declared as virtual and overridden in descendant classes.
    • Changed some readonly container access properties to functions.
    • Removed some rarely used arguments from indexed item access properties.
    • Added overloaded versions of many low level methods to provide both simple and advanced item access.
    • Container iterator callbacks now reference a method of an instance object instead of a simple function.
  • Bug fixes.
products/containers/history.txt · Last modified: 2023/11/23 10:18 by 127.0.0.1