-fixed AV when closing form with Skeleton parent object used to populate cxGrids with child lists
package updates
-added Load and SaveSettings methods to preserve last successfully package generation settings
-added compiler directives to handle Unit Scoping when compiling for VCL in D29
updated ignores
-added a hack for now to determine the CodeSite package based on the Delphi version. Should probably add this as an option to the main form.
-removed hcCodeSite2 conditional since they are imported from DOF files into "All Configurations" directives. If CodeSite is enabled we may have to populate this in the appropriate DOFs
-removed package group and generator EXE
-changed package group to be dynamically built so it reflects package options
-added support for D28 and D29
-removed whitespace
-added Resources to search path for relevant packages
-added compiler directives to handle Unit Scoping when compiling for VCL in D29
-added missing file
-updated ignore list
-added projects for Delphi 11 aka Delphi 28
-updated VirtualTreeView EditLink classes for use with current versions of tree view
-updated ThcClassList formatting and change argument to a const
-made UpdateErrorIndicator public in hcAttributeMediator to help resolve issues with ErrorIndicators in dialogs
-reordered packages so can build all in sequence
-added some directives to get XE2 compiling (will need to be verified against other versions)
-added hcSingleAttribute and hcBigIntAttribute units to HengenOPFCoreVCL package
-consolidated parameter logging to LogQueryParams() and added data type to log
-fixed accidental removal of ExecSQL call in ADO DAL
-added missing attribute units and changed CodeSite runtime package referenced to be that used by Full version
-reordered packages
-hcGUIDesignTime was renamed to hcUIDesignTime but component registration was removed and old file still exists. Fixed.
-added MSSQL driver so could target that RDBMS
Added FireDAC packages for use with Berlin (D24)
Resolved compilation issues introduced for Berlin (D24)
updated GettingStarted
-fixed typos introduced in 2 units preventing compilation
Major rework of PackageGenerator
-fixed AV when LookupList value is not set at DesignTime
package updates
-added ReLoad method to hcLookupList.pas which is required if updating Lookup table with new items in your app
-Fixed issue with ThcWideString fields being truncated to 20 characters based on default MaxSize. Removed MaxSize property. Validator now handles string length constraints as with other types.
-added Core package changes only for 10.4 right now for new data attribute types
-added BigInt and Single Attributes to support BIGINT and SINGLE database data types ie: FireBird 3.X
-added fall through for building unsupported factory classes
-added ability to edit and delete connections
-added Source\Resources folder so you can compile and use the DCU paths only ie:
Added support for Delphi 10.4 Sydney
-introduced new type ThcRowsAffected to resolve Integer Overflow error when using FireDAC in a Win64 application
-fixed off by 1 error
-updated installation table adding an installdate timestamp
-changed the RegisterInstall server method to return an existing InstallationGUID if the user has previously installed the application and registered it, rather than having an error returned about the unique constraint violation on DeviceGUID
-added DelphiDabbler's SysInfo unit (https://sourceforge.net/projects/ddablib/files/sysinfo/) to gather device fingerprint information
-changed Registration to update the folders in the AutoUpdate.ini file to reflect actual deployment paths
-completed changes to make framework to use an InstallationGUID rather than a Location to support multiple installs in the same location
-added ability to RegisterInstall with the update server
-consolidated AutoUpdate settings into a single ini file
-added additional config items for Firebird and configured release build to use Firebird
-completed version of AutoUpdateServer that works with Firebird 3.04
updated connection handling
-updated package libsuffix
-renamed method
-fixed default connection settings
-fixed Deployment Manager so it compiles for Win32 with DevExpress trial
initial check in of UpdateFramework
-updated GetAsString methods for attributes so an EmptyStr is displayed if the attribute is set to Null by clearing it. Handles case where attribute has an initial value but it is cleared (set to Null) via an edit control
-fixed float validator to allow for Nullable float attributes
project and svn ignore updates
-removed unused control
initial check in of hcOPFCodeGen
-removed local FastMM4 dependencies
-updated tests, adding one for Deleting owned object from List to ensure no leak
-added JPEG blob methods to hcBlobAttribute to help support reading/writing Blob images. Add dependency on JPEG units
-added osWriting when persisting to database and used that to prevent re-fetching of Blob (apFetchOnDemand) attributes
-changed ThcComboBoxTextMediator LoadItems() method so it can be used with a const string array
-changed ThcAttribute Size to MaxSize to reflect usage better
-fixed unit tests
-changed unit name to be consistent with classname it contains. Used GExperts to perform a mass rename. Need to test compilation under each Delphi version
-updated GetWhereChanged to take into account the apNotPersisted attribute property
FireDAC Support
Available in trunk
fixed constraint violation on AddressType
-code cleanup
-fixed some edge cases for ThcObjectList.DeltaCount not being maintained correctly and added some tests
-renamed fmProgramSettings to hcProgramSettings to be consistent with hcDialog and make it evident form is part of hcOPF project
-added infrastructure classes and dialog to provide for a data driven hierarchy of program settings
-removed commented out code for TUIListBinder. Workaround is to attach a list to a dummy root object and bind to that.
-added parameter to ThcObject.Delete() method to enable usage of Cascading deletions
-tweaked documentation
-added superfluous code to remove compiler warnings
-added {$WARN} directives to remove warnings for known issue that is not problematic
-added Contnrs unit for in-lining support in later versions of Delphi
-added FriendlyName and Validation to hcDialog
-fixed typo introduced by making mods in Diff tool
Updated Unit Tests and got them all passing once again (some breakage due to changes - who says unit tests aren't valuable)
-renamed dialog class to be consistent with filename
-added hcDialog to be used for editing ThcObject instances in a modal dialog. Can be used either with run-time or design-time bindings, and requires the object to be valid unless the user cancels the dialog in which case all changes are undone
-removed mouse cursor code used to set cursor to busy when updating bindings. This doesn't take long, so it doesn't warrant a wait cursor. It just causes cursor flashes.
-changed ThcObject.Write() method to raise an exception instead of presenting a dialog if a transaction is active. An active transaction would normally mean that the caller is writing multiple objects at the same time, and an exception is necessary to cause a rollback of the Tx.
-fixed logic flaw in SQL generation that assumed an attribute was required, and did not allow for Computed attributes that were also required. THIS IS A BREAKING CHANGE! It will require a validator for primary and foreignkey attribute definitions as well as anything that was required before but did not have a validator attached.
-fixed compilation issue when CodeSite is not Enabled
-fixed ThcSQLMapper.GetFieldSelectWhereSQL to use a ThcSQLObject so ThcObject.ReadAttribute works once again
-added code to detect if MultiCastEvent subscribers were being modified while the event is being fired as this can cause some subscribers not to be notified as well as potential LOOBs (List Out Of Bounds) or AVs