1.3.0 - 1/24/2007 * TntFormLX - Major improvements to window focus handling and Vista compatibility. * Added TTntOpenDialogLX and TTntSaveDialogLX to provide better Vista compatibility. * TntLXVclUtils - Added some Vista shield functions. * Fixed issue with TTntStringGridLXDatePicker on Vista. * Improved appearance of LX comboboxes on WINE. * Fixed isssue where TTntRichEditLX didn't support double-click events on WINE. * Added TntMonthCalendarLX to provide better WINE compatibility. * TntLXVclUtils - Added many functions for control auto-sizing and positioning. * Fixed some issues related to using calculated fields with TntLXDataSet and descendants. * Fixed issue where fieldcount doubled when CSVTable was closed and then reopened. * Added TTntDBGridLX.OnDrawTitleCell event. * Enhanced TntADODataSetLX.ParamCheck := True to check for parameters immediately. * TntLXDBUtils - Added many functions related to field mapping and importing data. * Fixed CSV import issues from ansi text files in certain locales (Thai). * Improved modal window handling with TntFetchUrl. * TntFormLX - refactored OwnerForm and OwnerForm_IsParent into just ParentForm. * SafeWinInet - checks HKEY_CURRENT_USER before KKEY_LOCAL_MACHINE. * TntLXUtils - introduced EShellOpenError exception for shell open errors. 1.2.8 - 10/12/2006 * Fixed LXForm issue where TaskBarButton=False causes TApplication window to appear. * Added GetExpandedPathFromReg() to TntLXRegistry. * Changed DllPathFromClsID to supports environment variables in path from registry. * Enhanced TntLXSafeWinInet by adding a connection troubleshooter dialog. * Enhanced TntLXSafeWinInet.IsInternetConnected to better support AutoDial modems. * Fixed window focus issue when TTntFetchUrl progress provides a progress dialog. * Fixed TntLXHttpRequestor's handling of invalid SSL certificates. * Wine compatibility tested, and a few small changes made. 1.2.7 - 8/17/2006 * Rearranged directory structure to better allow an installation program (now available). * Added support for "Work Offline" mode of IE to many components. * Improved TntLXFetchUrl handling of file:// URLs. * Improved the TntLXForm.TaskBarButton feature's interaction with modal dialogs. * Renamed TTntMultiPostRequestor to TTntHttpRequestor (changed to single post). * Renamed "TntLXWinInetRequestor.pas" to "TntLXHttpRequestor.pas". * Changed TntLXSafeWinInet.pas to statically link to WinInet.dll. * Enhanced AdoDataSetLX handling of a deleted row in Jet (Server-side cursor). 1.2.6 - 7/19/2006 * Split off some functions from LXUtils into LXVclUtils to avoid references outside the RTL. * Fixed issue with manually setting ItemHeight of LX Combo boxes. * Fixed issue with height of ComboBoxLX and large fonts. * Enhanced all LX data aware controls to better handle clipboard operations. * Added better default keyboard handling for clipboard related shortcuts in TTntFormLX. * Added Office 2007 support to office version checking functions in LXUtils. * Updated TntLXDBUtils.SQLConnectionString to handle NT integrated authentication. * Fixed ADODataSetLX to better handle unusual field and table names. * Enhanced error message in AdoDataSetLX when encountering a deleted row in Jet. * Added RegisterTntFields to TntLXDataSet.pas. * Added designtime support for TTntDataSet (an in-memory dataset). * Added TntLXUtils.AutoFitLabelOverControl() to help accomodate localized text in labels. 1.2.5 - 5/15/2006 * Fixed TTntDBGridLX handling up/down key presses with lookup combo box. * Fixed ItemHeight of LX Combo boxes to match font like TComboBox does. * Improved TTntFetchUrl.FetchHttpUrl() to report when URL is blank. * Removed TTntLXForm.BorderIcons fix because Delphi 2006 Update 2 resolves issue. * Added TntLXUtils.CommaTextAsStringArray(). 1.2.4 - 4/10/2006 * Added TTntDBEditLX, *Memo*, *RichEdit* to allow "Paste" when db not in browse mode. * Added TTntListViewItemLX.FontStyles. * Added support to TTntADODataSetLX for a SQL Server default of NewSequentialID(). * Improved error message when trying to load a CSV text file encoded as UTF8. 1.2.3 - 2/1/2006 * Fixed display issue with editing currently displayed item in a TTntComboBoxLX . * Fixed issue with TTntPasswordEdit where "Show Password" action was irreversible. * Added IsOracle() to TntLXDBUtils.pas and to TTntADODataSetLX. * Improved TTntADODataSetLX support for providers that don't support schema retrieval. 1.2.2 - 1/16/2006 * Improved on BCB 2006 support. * Added TntLXUtils.AddDirsInPath(). * Added overloaded TntLXVerUtils.GetReleaseVer(). * Added "ReadOnly" parameter to MemoIntputQuery(). * Fixed TntLXDBUtils.TreadFieldAsText to include wide memo fields. 1.2.1 - 12/9/2005 * Tested and compiled with Delphi 6, 7, 2005 and 2006. 1.2.0 - 12/2/2005 * Added support for Delphi 2006. * Improved TTntCSVTable to auto-recognize the delimiter. * Improved TTntCSVTable to auto-trim completely blank source rows. * Added TTntLXWideStringField to work better with TDataSets that use Variants. * Improved functions in TntLXDBUtils.pas to work better with non-data TFields. * Improved LXFlashMsg to be more thread safe. * Increased performance of DB lookup controls. 1.1.19 - 10/26/2005 * Implemented TTntDataSet.BookmarkValid(). * Added more functions to TntLXUtils.pas including support for simple XOR encryption. * Added TntLXCRC32.pas for calculating CRC-32 values. * Enhanced "CoolPopulateLookupComboBox" to ensure sorting occurs when .Sorted is set. 1.1.18 - 9/26/2005 * Added TTntPasswordEdit to provide XP-style password edit features to pre-XP Windows. * Added TTntCheckListBoxLX. * Added "GetEditorMargin" event to better customize TTntStringGridLX. * Added SetCompressedAttribute to TntLXUtils. * Added "AutoSizeAllColumns" to TntListViewLX. * Improved SendMailMAPI() to handle multiple email recipients. * Added ParseEmailAddress() to TntLXUtils. 1.1.17 - 8/11/2005 * Added more "mailto" integration functions to TntLXUtils.pas. * Improved error handling in code that uses WinInet. * Split TntDBUtils.VerifyMatchingFields into two functions to check names and types. 1.1.16 - 8/3/2005 * Added several "mailto" integration functions to TntLXUtils.pas. 1.1.15 - 7/13/2005 * Refactored SystemErrorMessage functions into TntSysUtils.pas. 1.1.14 - 7/11/2005 * Added TTntDataSet.SortOptions property. * Fixed issue with opening a Jet database using ODBC-OLEDB driver in TTntAdoDataSet. * Added compiler directive to ensure short circuit boolean evaluation in all units. 1.1.13 (skipped release number to keep in sync with Tnt Unicode Controls) 1.1.12 - 5/14/2005 * Added support for embedded form designer in Delphi 2005. * Added MemoInputQuery() function. * Improved TntFetchUrl by adding flags to ignore cache when downloading a file. * Added to TntLXUtils.pas: - CommaTextAsIntArray() - GetHour() - GetMinute() * Enhanced ForceCopyFile to better report non-existence of source file. * Enhanced TntLX DB Lookup controls to better handle duplicate lookup results. * Fixed issue where TTntFormLX.OnCreate was called before components were created. * Changed base class of TTntCustomListViewLX to TTntCustomListView. * Improved UpdateFlash() to more thoroughly redraw entire window. * Added helper functions to improve usability of TntCancelableForm. * Added to TntLXDBUtils.pas: - VerifyMatchingFields() - used before CopyFields(). - AddSqlIntegerBasedOnFirstField(). * Improved handling of nulls in CopyFields(). * Improved TTntIntegerList: - added Equals() function. - added dulicate check option to AddIntArray(). * Added function to TntLXClasses: SameIntArray(). * Fixed issue where LXComboBox drop down height was different than regular combo box. * Added EExtraInfoException as a way to report extra information with exception. 1.1.11 - 11/9/2004 * Added support for Delphi 2005 (Win32). * Added TTntLXRegistry: RegReplaceEx() for search/replace of values within registry. * Made TTntCancelableForm more localizable. 1.1.10 - 10/19/2004 * TntLXDBUtils.USDateStrToDate() enhanced to handle 2 digit years. * LXForms, added global var: NeverShowApplicationWnd. * LXUtils, added functions: IntegerInArray(), DoesSQL7EntMgrExists(). 1.1.9 - 9/10/2004 * Added TTntHotLabel to support hyperlinks. * Added TTntCSVTable for working with CSV files. * Added TTntFetchUrl to download files using WinInet. * Added license.txt. 1.1.8 - 8/31/2004 * Added TntLXSetupUtils.pas to help with installation applications. * Overloaded GetAppVer() in TntLXVerUtils.pas. * Added many functions to TntLXUtils.pas relating to processes and system information. 1.1.7 - 8/12/2004 * Changed TTntRegistryLX.CanDescend to return False if security disallows opening Key. 1.1.6 - 6/28/2004 * Added an example program. * Added TTntADOTableLX, TTntADOQueryLX. * Fixed resource leak in TTntDBGridLX having to do with boolean fields and checkboxes. * Overloaded TTntADODataSetLX.GetFieldBaseInfo(). * Added TntDBLXUtils.GetUniqueTableName(). * Changed TntDBLXUtils.InitValueList() to not treat MaxInt literally. 1.1.5 - 4/30/2004 * Addd TTntListViewLX. * Fixed issue where application window wasn't always hidden. * Added SendImmediately to TntLXMapiUtils. * Added DeleteGargageCollectedTempFolder(), WideGetUserName. * Optomized GetFilesInPath(). 1.1.4 - 4/19/2004 * Added TabStopMode mode to column on TTntDBGridLX.Columns. 1.1.3 - 4/6/2004 * Changed TntCompilers.inc to prevent checking for "UNSAFE" code on Delphi 7. * Removed Windows 95 fix for TTntADODataSetLX to enable proper use of ParamCheck. * Changed TTntADODataSetLX.ParamCheck default to False. * Added better error checking to TntLXDBUtils.GetSqlResult(). * Added more descriptive error messages to SendMailMAPI(). * TntLXUtils: Added GetProgramFilesCommonFiles(), ShellPrintFile(). * Enhanced ForceRenameFile to provide more clear error message upon failure. * Enhanced ForceRenameFile to better handle case-only changes on network shares. * Made fallback default of GetCommonAppDataDir() to be distinct from GetAppDataDir(). 1.1.2 - 2/18/2004 * Fixed issue w/ TTntFormLX StartModal/StopModal causing unexpected z-ordering. * Fixed issue w/ DB lookup controls and closed datasets. * Improved UndoReadOnlyIfExists(). * Added WideShellExecute() and ShellOpenFile(). 1.1.1 - 1/26/2004 * Modified TntADODataSetLX to catch connection issues when opening. * Reworked ITntReconnectManager. * Updated SqlServerConnectionString() to specify ConnectionPooling. * Tweaked window flash count when clicking on non-modal form (with active modal form). * Added FirstOfYear() and LastOfYear() to TntLXUtils.pas. 1.1.0 - 1/8/2004 * Moved Buffered strings/stream from TntLXClasses to TntClasses (Tnt Unicode Controls). * Clicking on a LX form when a modal form is active causes modal form caption to flash. 1.0.8 - 12/17/2003 * Fixed CancelableThread to allow recursion. * Refactored much of TTntStringGridLXComboBox into TTntComboBoxLX_Action. * Fixed TTntFormLX so that it visually handles no themes on Windows XP better. 1.0.7 - 9/24/2003 * Renamed TDynamicCurrencyArray to TCurrencyDynArray to be more like Types.pas. * Added these functions to TntLXUtils: ForceCopyFile(), ExtractSmallIcon(), StringMatchesPatternInList(). * Fixed DbCompareString() to correctly handle loPartialKey in Options. * Added a constructor to TTntFormLX to support creating this class directly. * Added these functions to TntLXDBUtils: SafePost(), DateToSQLDateStr(), TimeToSQLDateStr(), DateTimeToSQLDateStr(), BoolToSQL(). * Fixed issue with TimeToUSTimeStr(). * Fixed memory leak with TTntList. * Fixed memory leak with TTntIntegerList.SetCommaText(). * Centered TTntCancelableForm within screen. * Added workaround code to TTntADODataSetLX to fix issue with Delphi 7's TDataSet where controls would still flicker with ControlsDisabled = True. 1.0.6 - 6/11/2003 * Fixed TTntStringGridLX where Editor was destroyed before grid. * Fixed TTntStringGridLXComboBox to set value when Style = csDropDownList. 1.0.5 - 6/7/2003 * Based RichEditLX on RichEdit 4.1 if it is available (ie. on Windows XP). * Fixed ComboLX to support Escape key when style = csSimple. * Added BeginCursor/EndCursor, IsAdmin to TntLXUtils.pas. 1.0.4 - 5/27/2003 * Corrected MDI screen flicker issues with TTntFormLX. * Fixed lookup combo box issues: NullValueKey w/ DataSource = nil, empty string = Null. * Fixed combo box issue where it wasn't refresing when column widths changed. * Added global hook to FlashMsg. * Changed ComboBoxLX to use BorderWidth in calculations. 1.0.3 - 5/21/2003 * Added TTntAdoDataSetLX to support default values and many other enhancements. 1.0.2 - 4/30/2003 * Fixed TTntFormLX: MDI merging of status bars. * Fixed TTntComboBoxLX: refresh tab widths before painting. * Fixed TTntComboBoxLX: auto select is now based on left most displayed column. * Fixed TTntComboBoxLX: window recreation issue where it didn't refresh. 1.0.1 - 4/23/2003 * Fixed memory leak with TTntComboBoxLX. * Fixed issue with selecting item on TTntDBLookupComboBox/ListBox with no DataField. * Added OnNotify event to TTntList, TTntIntegerList, TTntComponentList. * Optimized adding items to TTntComboBoxLX. * Optimized TTntDBLookupComboBoxLX. * Added ComponentToText, TextToComponent functions. 1.0.0 - 4/8/2003 * Released Tnt LX Controls.