IBX Change Log version (1.2-0) Thu, 26 Feb 2015 10:34:04 +0000 1. An internal select SQL Parser is now available for TIBCustomDataset descendents. This is typically used during an "OnBeforeOpen" event handler to manipulate the "Where" and "Having" clauses to implement user specified filters of arbitrary complexity. 2. A new Component Palette entry "Firebird Data Controls" is now available. This has three new data aware controls dependent on IBX and which make use of the SQL Parser. These are: - TIBLookupComboEditBox - TIBDynamicGrid - TIBTreeview TIBLookupComboEditBox is a TDBLookupComboBox descendent that implements "autocomplete" of typed in text and "autoinsert" of new entries. Autocomplete uses SQL manipulation to revise the available list and restrict it to items that are prefixed by the typed text (either case sensitive or case insenstive). Autoinsert allows a newly typed entry to be added to the list dataset and included in the available list items. TIBDynamicGrid is a TDBGrid descendent that provides for: - automatic resizing of selected columns to fill the available row length - automatic positioning and sizing of a "totals" control, typically at the column footer, on a per column basis. - DataSet resorting on header row click, sorting the dataset by the selected column. A second click on the same header cell reversed the sort order. - Support for a "Panel Editor". That is on clicking the indicator column, the row is automatically expanded and a panel superimposed on it. The panel can have any number of child controls, typically data aware controls with the same datasource as the grid allowing for editing of additional fields and more complex editors. - Reselection of the same row following resorting. - A new cell editor that provides the same functionality as TIBLookupComboEditBox. Its properties are specified on a per column basis and allows for one or more columns to have their values selected from a list provided by a dataset. Autocomplete and autoinsert are also available. The existing picklist editor is unaffected by the extension. TIBTreeView is a data aware TCustomTreeView. 3. When getting a field value using FieldByName.AsVariant, an SQL_INT64 with a zero scale will no longer return an error. An Int64 will be returned instead. 4. TIBTransaction now has events for Before and After Transaction End and a new function "GetEndAction" allowing the EndAction to be accessed by these event handlers. 5. TIBQuery can now handle correctly queries which contain the same keyword parameter repeated multiple times. 6. TIBUpdateSQL will no longer return an error when "RowsAffected" is <> 1. This error check used to get in the way of using Stored Procedures, and "Update or Insert" statements. 7. Insert, Modify and Delete property Editors now support Query Generation from Stored Procedures. 8. Three new examples illustrate the use of the new IB Controls IBX Change Log version (1.1-0) Mon, 07 Jul 2014 14:01:07 +0100 1. TIBXSQLVAR code clean up and optimisation to improve client side "prepare" and parameter setting performance. See "readme.field+param.names in the doc folder.(Thanks to Gabor Boros for reporting this problem and for testing the improvements). 2. IBX can now support dialect 3 quoted column names that contain spaces and which differ only in their case. See readme.field+param.names in the doc folder. 3. IBX SQL Editors will now automatically add double quotes around column names when the database dialect is "3" and the column name contains spaces or is a Firebird 2.5 SQL Reserved Word. 4. Param Type LargeInt now supported in TIBQuery and TIBStoredProc 5. TIBSQL.ExecQuery retry on failure removed to avoid problems with "at most once" actions. 6. TIBTransaction.SetDefaultDatabase uses SetObjectProp instead of mis-using SetOrdProp (with thanks to Yuriy Kopnin for pointing this out). 7. GenerateParamName is now a published property of TIBSQL, TIBQuery and TIBDataSet. 8. varWord, varShortInt and varInt64 added to TIBXSQLVAR.SetAsVariant and hence now available as variant types for both fields and parameter setting. 9. Changes to the Select SQL in an IBCustomDataset descendent should now be visible in the Fields Editor immediately afterwards - rather than only after cycling the "active" property. 10. TIBSQL SQL editor will operate correctly and not report an SQL syntax error on SQL test, when DSQL ('?') parameter placeholders are used and the TIBSQL.GenerateParamNames property is set to true. 11. TIBTable now has a property editor for "MasterFields" 12. SQL Property Editors now include a checkbox "Allow DSQL Placeholder". This corresponds to the GenerateParamNames property and should be set when using DSQL (i.e. '?') style parameters. 13. The IBTransaction editor now has a radio button ("Unspecified") which is set when the combination of settings is unrecognised. Selecting this radio button has no effect on the settings. IBX Change Log version (1.0-5) Sat, 28 Dec 2013 19:22:23 +0000 1. TBookmark change conditional compile changed to >= 2.7.0 to match revised availability of change. IBX Change Log version (1.0-4) Thu, 28 Feb 2013 16:56:13 +0000 1. In a TIBCustomDataset descendent, a generator now only sets the value when it is null. This allows for alternative user defined setting of the generator Many thanks to Julio Jiménez for this fix 2. An Error Dialog is now displayed in the Lazarus IDE if IBX cannot find the Firebird Library and suggests that the user may have forgotten to install it. IBX Change Log version (1.0-3) Thu, 22 Nov 2012 22:53:39 +0000 1. Conditional compilation used to limit registration of TIntegerField to Lazarus versions less than 1.1 2. When a database connection is created, character set is now by default set to UTF8 (Unix) or to the current Windows code page (Windows) if in the range 1250 to 1254. IBX Change Log version (1.0-2) Tue, 09 Oct 2012 09:10:30 +0100 1. TBookmark change conditional compile changed to > 2.6.2 to match expected availability of change. IBX Change Log version (1.0-1) Sun, 05 Aug 2012 20:00:04 +0100 1. In IBCustomDataset. Changed CurBookmark from string to TBookmark for compiler versions > 2.6.0 Necessary because of TBookmark type and TDataSet.Bookmark property change in fpc 2.7.1 2. IBX now registers TIntegerField as a "No Icon" component. This may be removed if the fpc DB package is changed to do this (which it should do). IBX Change Log version (1.0-0) Sat, 28 Apr 2012 16:43:00 +0100 1. Add "if active then active := false" to TIBCustomDataset destructor. (Avoid error on database close). 2. Make use of $STATIC conditional in IBSQLMonitor (Needed for FPC 2.6.0 compliance) 3. Database Property Editor: Character Set drop down box now uses "OnChange" rather than "OnCloseUp" to react to changes 4. Property editors should now correctly resize. 5. In IBDatabaseEdit.TestClick, the LoginPrompt is now set to the state of the LoginPrompt Checkbox (restored original functionality) 6. Under OSX, if IBX fails to load libfbclient.dylib, it will now try and load the firebird library using the absolute path /Library/Frameworks/Firebird.framework/Firebird.