New features and enhancements:
- Support of C++ Builder 2006 has been added.
- Support of charset UTF8 fields for Firebird 2 has been added.
- TpFIBDatabase has a new property UseBlrToTextFilter :Boolean. It activates/deactivates handling of BLOB fields with Blr (2) and Acl(3) subtypes.
- Now the FIBDatabase.QueryValueAsStr method returns an empty string, if the query returns nothing or the Null field.
- TpFIBDatabase has a new event handler: TOnApplyFieldRepository=procedure(DataSet:TDataSet;Field:TField;FieldInfo:TpFIBFieldInfo) of object;
- DSContainer has a new event handler: TOnApplyFieldRepository=procedure(DataSet:TDataSet;Field:TField;FieldInfo:TpFIBFieldInfo) of object;
- DSContainer has a new property: IsGlobal:boolean. If this property is set to True, DSContainer works for ALL datasets of the application.
- SQL queries "COMMIT" and "ROLLBACK" are handled differently now. Instead of the queries the server gets corresponding transactions. Such behaviour enables to correctly close the queries, executed in the closed transaction.
Note: New features 4-6 enable developers to easily use their own settings in the field repository.
If you need to set the EditMask property, add the EDIT_MASK field to the repository table; create a container; make it global by setting the IsGlobal property to True; and write the following code in the OnApplyFieldRepository event handler:
procedure TForm1.DataSetsContainer1ApplyFieldRepository(DataSet: TDataSet;
Field: TField; FieldInfo: TpFIBFieldInfo);
- The error repository editor incorrectly worked on selecting "Unique Indices". Fixed .
- An error in the method FIBDataSet.RecordFieldValue(Field:TField;aBookmark:TBookmark):Variant; has been fixed.
- If the PLAN clause in TpFIBDataSet.SelectSQL used implicit JOIN which began with “(”, and a new value was set to TpFIBDataSet.PlanClause, the query resulted with a wrong PLAN clause (with unnecessary “(” symbol after the word PLAN). Fixed.
- Incorrect error message handling of user exceptions in TpFibErrorHandler for Firebird 2 (because of a new feature PSQL Stack Trace in FB2). Fixed.
- Incorrect handling of lost connection on restoring attempts. Fixed.
- There was no BOOLEAN field handling in TFIBCustomDataSet.RecordFieldValue for InterBase 7. Fixed.
- An error CloneCurRecord: error with boolean field in record (IB7). Fixed.
- An error in LocateNext. LocateNext returned True if the last dataset record satisfied the Search conditions and Search started with this record. Fixed.
- Incorrect work of LocateXXX methods with calculated field filtering. It appeared if Locate was done in not calculated fields, whereas filtering (Filtered) was done in calculated fields. Fixed.
- EAccessViolation after handling OnUpdateError if CachedUpdates=True and OnUpdateError "UpdateAction:=uaAbort;". Fixed.
- An error of working with stored procedures in SQLEditor. Fixed.
- An error on generating RefreshSQL, if the table alias began with "AS". Fixed.
- An error of executing several execute blocks. Fixed .
- An error of lost connection handling in case of multiple connections to different databases. Fixed .
- A minor error in FIBQuery.PrepareArraySqlVar. Fixed.
- An error of setting a string value '000...' to the BCD field. An example: FIBBCDField1.asString:='0000'; Fixed.
Preview text: What's new in version 6.45: 7 enhancements, 16 bug fixes. Support of C++ Builder 2006.