Elevate Software


Login Login

ProductsBulletSalesBulletSupportBulletDownloadsBulletAbout





Home » Elevate Software Blog

Icon Elevate Software Blog

Tags Showing all blog entries tagged with "New Releases"

Elevate Web Builder 2.06 Released
Posted by Tim Young on Mon, Apr 10 2017

We are pleased to announce that Elevate Web Builder 2.06 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

Elevate Web Builder 2.06 includes the following breaking changes and enhancements:

2.06 Breaking Changes
The following are breaking changes in 2.06:
  • The auto-sizing functionality in the foundational UI layer has been extended so that it can also handle auto-sizing of parent elements based upon the bounds of child elements. This has also resulted in many modifications to how the existing control interfaces were designed. In 2.05 and prior releases, many controls executed code to perform the auto-sizing of various UI elements in response to size changes, whereas these controls now use a control interface that provides auto-sizing declaratively within the control interface itself. If you have created customized control interfaces, then you will need to merge these changes into your customized control interfaces using a compare/merge tool such as Beyond Compare from Scooter Software:

    Scooter Software, Inc.


  • The layout functionality has changed slightly so that BeginUpdate..EndUpdate blocks suspend layout and measurement locally within a given control/UI element. In contrast, in 2.05 and earlier, BeginUpdate..EndUpdate blocks would only suspend DOM and designer updates until the local update count, and any parent update counts, reached zero. Layout and measurement would be triggered on each update to the state of the control/UI element. This was extremely inefficient and caused way too much code execution for little-to-no benefit. With the new changes, layout and measurement are only triggered once the local update count for a given control/UI element reaches zero. DOM and designer updates are still only triggered once the local update count, and any parent update counts, reach zero. However, this could cause some existing code to break, especially if the code relies on updated control/UI element bounds within the context of a BeginUpdate..EndUpdate block. Fortunately, there are new methods that will allow the code to force a layout/measurement update, even within a BeginUpdate..EndUpdate block:

    TElement ForceUpdate

    TControl ForceUpdate


  • The default control interfaces have been moved to the "default" subdirectory under the "interfaces" subdirectory. This was done to accomodate the fact that the product now ships with a new set of desktop control interfaces (see new features section below).


  • Google has changed the requirements for using the Google Maps API:

    Google Maps Standard Plan Updates

    and the TMap control now includes two new properties to accomodate the new API key requirements: APIKeyRequired and APIKey. If you were using the Google Maps API successfully with your application prior to the new requirements, then your IP address will be grandfathered in and you can set the APIKeyRequired property to False and leave the APIKey property blank.


  • The AutoSize property has been changed from a Boolean property to a TAutoSize class property with independent Width and Height properties.

    Warning Any existing forms can be used without issue going forward, but if you modify any forms and/or control interfaces using 2.06, then these forms and/or control interfaces will not be able to properly load the new AutoSize property with 2.05 and prior versions of Elevate Web Builder.


  • All Icon properties have been consolidated under a new TIconProperties class.

    Warning Any existing forms can be used without issue going forward, but if you modify any forms using 2.06, then these forms will not be able to properly load the new Icon property with 2.05 and prior versions of Elevate Web Builder. Also, the new TIconProperties class contains additional icon Height and Width properties that may need to be adjusted after a form is first used with 2.06 or higher.


  • The TToolBarButton AutoWidth property now defaults to False.


  • The TMessageDialogClient control interface has been combined with the TDialog control interface to create a new TMessageDialog control interface for the TMessageDialog control. The MessageDialogClient control interface is no longer used.


  • The TGridColumn OnHeaderClick event is now a function that returns a Boolean to allow the developer to control whether header clicks are allowed/disallowed.


  • The clElevateFillGray color has been changed so that it is slightly darker.


  • The TGrid control does not automatically add a grid column to the current sort when the grid column's header is clicked. You now need to use a shift-click in order to do so, and the default behavior is to clear the current sort whenever a grid column's header is clicked without the shift key being pressed.
2.06 Improvements
The following are new features and enhancements in 2.06:
  • As mentioned above, the auto-sizing functionality has been improved so that parent UI elements can automatically change their size based upon the bounds of their child elements. This allowed for the elimination of a lot of code in the component library that was dedicated to this type of functionality. Also, as part of this enhancement, the TBasicPanel and TPanel controls now contain an AutoSize property.


  • The drawing performance of the designers in the IDE has been greatly improved.


  • The loading performance of applications at run-time has been improved, largely due to the layout performance improvements noted above in the breaking changes section.


  • The IDE now includes a Find Declaration option on the context menu for the code editor. When the cursor is positioned on an identifier in the code editor, this context menu option will find the identifier's declaration (if possible). In addition, you can hold down the Ctrl key, move the mouse over an identifier in the code editor, and click to initiate the find declaration option. If there are compilation errors in the source code, using this feature may result in an error message appearing in the Messages view in the IDE indicating that the find declaration operation failed.


  • The IDE will now automatically add unit references to the implementation section of the current unit when components residing on different forms/databases are referenced via the Object Inspector.


  • The event management now supports handling composition events for IME (Input Method Editor) for Chinese, Japanese, Korean, and Indic character input so that data-bound controls behave properly with this type of input.


  • There is a new set of control interfaces for desktop usage included with the product. These control interfaces can be found in the "interfaces\desktop" subdirectory under the main installation directory.

    You can see the new desktop control interfaces in this demo application:

    Elevate Web Builder Controls Demo


  • New clElevateHot* colors have been added for the built-in clElevate* Red, Green, Blue, Black, and Orange color variations.


  • Control icons are now managed using the common TIconProperties class. This allows the developer to have more control over the height and width of the icon and consolidates all icon-related properties, including those for font icons, in one location in the Object Inspector. In addition, you can specify rotation animation properties in order to have the icon rotate to show progress.


  • There is a new TDataSetController component that allows the developer to attach to a TDataSet component for the purpose of defining event handlers for capturing when the dataset's current state, row, or sort changes. Previously, the developer would have to manually attach event handlers in code.


  • There is a new THTMLLabel control for displaying arbitray HTML content at run-time.


  • There are new TMenuBar and TMenuBarItem controls for implementing horizontal menus.


  • There is a new SubMenu property for the TMenuItem and TMenuBarItem controls to allow for implementing cascading menus.


  • The TPagePanel control now includes a new OnPageChange event.


  • There are new TDataSet BeforeLoadColumns, AfterLoadColumns, and OnLoadColumnsError events for handling the loading of dataset columns at run-time.


  • There is a new TFormatSettings StartOfWeek property for specifying which day is the first day of the week. The TCalendar and TDateEditComboBox controls use this property when displaying the calendar.


  • There is a new TMultiLineEdit SpellCheck property for enabling or disabling spell-checking at run-time. In addition, the TGridColumn control includes a SpellCheck property that is used when the TGridColumn ControlType property is set to ctMultiLineEdit.


  • There is a new TCanvasPoint class for working with floating-point coordinates instead of integer coordinates.


  • The TAlertLabel control now includes a new AutoHeight property.


  • The TButton control now includes a new AutoWidth property.


  • The TCheckBox control now includes a new AutoWidth property.


  • The TRadioButton control now includes a new AutoWidth property.


  • The TListBox, TEditComboBox, and TButtonComboBox controls now include a new Sorted property. In addition, the TGridColumn control includes an ItemsSorted property that is used when the TGridColumn ControlType property is set to ctEditComboBox.


  • The TEdit, TPasswordEdit, TMultiLineEdit, TEditComboBox, TDateEditComboBox, TDialogEditComboBox, and TButtonComboBox controls now include a new Direction property for controlling the text direction for display/editing. In addition, the TGridColumn control includes an Direction property that is used when the TGridColumn ControlType property is set to ctEdit, ctEditComboBox, ctDateEditComboBox, or ctDialogEditComboBox.


  • The TApplication component now includes a new IsWindowsPhone property.


  • The TViewport component now includes new ScrollTop and ScrollLeft properties for getting and setting the scroll position of the browser window.


  • The TViewport component now includes new OnScroll and OnSize properties for detecting when the browser window scrolls or resizes.


  • The TEdit, TMultiLineEdit, TEditComboBox, TDateEditComboBox, and TDialogEditComboBox controls now include new SelectionStart and SelectionEnd properties for specifying a selection range for the editable text (inherited from the base TEditControl control).


  • The TGridColumn ControlType property now includes a ctHTML member that can be used to indicate that the content of the column should be displayed as HTML. This control type is read-only.


  • The TMapLocation class now includes a new Icon property that allows you to specify a custom icon for the location marker.


  • The TMapLocation class now includes a new OnClick event that will be triggered whenever the location's marker is clicked.


Tags: Elevate Web Builder, New ReleasesPermanent Link0 Comments

Elevate Web Builder 2.05 Released
Posted by Tim Young on Thu, Aug 18 2016

Elevate Web Builder 2.05 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

This release contains several bug fixes, which are detailed here. In addition to these bug fixes, there are the following breaking changes and enhancements:

2.05 Breaking Changes
The following are breaking changes in Elevate Web Builder 2.05:
  • Elevate Web Builder now includes explicit database support in the IDE and in the compoonent library/runtime code. This will eliminate the need to define connection information for every defined dataset and, instead, you can define a single database (with connection information) under which multiple datasets can be defined. To support these architectural changes, there is a new Database Manager in the IDE that replaces the DataSet Manager in 2.04 and earlier. The dataset definitions from the prior versions will automatically be upgraded to use the new database format when starting up the 2.05 IDE for the first time. This is done by creating a database with the same name as the dataset.

    You will need to make adjustments to your existing database access code in order to allow them to work with the new architecture. Specifically, you will need to add this line of code before any database access (loading of dataset columns or rows, and/or transaction commits) occurs:

    Database.DatabaseName:=<Database Name>;

    where <Database Name> is the name that of the database that is automatically created by the 2.05 IDE when it is first started (see above). The Database instance in the code above is the global TDatabase instance that is automatically created at application startup, and has not changed from 2.04.

    Finally, the inclusion of explicit database names has caused the URLs used with database access to change, and they now include a "database" parameter with every request. This means that you must use the 2.05 Elevate Web Builder Web Server with any client applications compiled with the 2.05 compiler that perform database access, or you will experience errors. Likewise, if you are not using the Elevate Web Builder Web Server and, instead, are using your own web server application for handling database access, you must handle this new database parameter so that the proper database is being accessed.


  • The TDatabase component now includes a new AutoTransactions property that allows you to perform inserts, updates, and deletes under transaction control without having to use explicit transactions. This property has a default value of True, so if you already use explicit transactions or do not want inserts, updates, and deletes to be committed to the web server application, then you should set this property to False before any such operations are performed.


  • The URLS for BLOB loading have changed and are now always specified as relative paths instead of absolute paths. The use of absolute paths was a problem in 2.04 and earlier because it would cause cross-origin BLOB load requests to fail because they were referencing the wrong protocol/host name/port combination.


  • The DataSets Resource Name setting has been renamed to the Databases Resource Name setting in both the external Elevate Web Builder Web Server and the internal web server in the IDE (Environment Options dialog). In addition, the default value for this setting has been changed from 'datasets' to 'databases'.


  • The Custom DataSets Resource Name setting has been renamed to the Database Modules Resource Name setting in both the external Elevate Web Builder Web Server and the internal web server in the IDE (Environment Options dialog). In addition, the default value for this setting has been changed from 'customdatasets' to 'databasemodules'.


  • The Custom DataSets Module setting has been removed from both the external Elevate Web Builder Web Server and the internal web server in the IDE (Environment Options dialog). The Custom DataSets Module setting was redundant because any module can be referenced directly via the TDatabase BaseURL property in client applications.


  • All example applications included with Elevate Web Builder that use databases and datasets have been updated to reflect the new database architecture. You should re-install all example application using the instructions located in the manual under the Example Applications topic in order to make sure that the example applications work properly when compiled with Elevate Web Builder 2.05 or higher.


  • The command-line compiler (ewbcc.exe) options have changed. There are new options for external files, HTML loader and Javascript output file names, and icon font options. Please execute the command-line compiler without any arguments in order to see an explanation of the parameters and how they should be formatted.


  • Data-bound controls no longer overwrite their non-bound textual representation at design-time in the form designer. For example, a data-bound TLabel control with a Caption property value of 'Test' will still display 'Test' at design-time, even if it is bound to a dataset column. Previously, the the TLabel would display an empty string ('') when the form was re-loaded.


  • The default indeterminate behavior for the TRadioButton control has changed. Now you have to set the SelectionState property to ssIndeterminate for the TRadioButton control whose SelectionState is equal to ssSelected in order for the group state of multiple TRadioButton controls to be changed to ssIndeterminate. As long as you have a TRadioButton control with a SelectionState equal to ssSelected, you cannot change the non-selected TRadioButton controls' SelectionState property to ssIndeterminate, only ssSelected or ssUnSelected.


  • In all controls, the Focused control interface state now takes precedence over the Hot control interface state, and the Error control interface state now takes precedence over all other control interface states.


  • The default key press interval for list/combo controls has been reduced from 500ms down to 200ms.


  • The ShowMessage procedure now includes an optional DlgCaption parameter that can be used to set the caption for the message dialog. This is a breaking change because the DlgCaption parameter was inserted before the existing animation parameters.


  • The Minimized state has been removed from the TPagePanel control interface. Also, the ApplyProperties.Border property for the Client element has been changed to False, so existing TPagePanel controls will need to have their interfaces re-intialized in the IDE via the layout toolbar in the form designer. Failure to do so will result in the TPagePanel controls losing their border.


  • A new LeftGutter element has been added to the TTabBar control interface to accomodate padding the tabs on the left, and the existing Gutter element has been re-named to RightGutter. Also, a NoTabs state has been added to the control interface to accomodate a new way of handling hidding the tabs for page controls.


  • The Padding and Margins properties have been changed for the Base and Client elements of the TDialog control interface, and a new Grip element has been added for implementing user sizing.


  • A new Grip element has been added to the TSizeGrip control interface to store the sizing grip icon.


  • New Icon and FontIcon elements have been added to the TDialogCaptionBar and TPanelCaptionBar control interfaces to allow for specifying icons in the caption bars of dialog and panel controls.


  • A new Client element has been added to the TButton control interface to allow for the centering of the icon and caption as a group, resulting in a better look and feel.


  • A new TGridMultiLineEdit control interface has been added for multi-line edit controls in grid controls.
2.05 Improvements
The following are included improvements in Elevate Web Builder 2.05:
  • There are new output file name settings for the HTML loader and Javascript files emitted by the compiler. You can find them in the Project Options dialog in the IDE.


  • The IDE now contains a new Database Manager in place of the DataSet Manager that existed in 2.04 and earlier.


  • The IDE now supports instantiating TDatabase component instances as containers for TDataSet component instances, as well as any other non-visual component. Please see the Creating and Using Databases topic in the manual for more information on creating and using TDatabase instances.


  • The TDatabase component now includes an AutoTransactions property for enabling automatic transactions for row inserts, updates, or deletes.


  • The IDE now permits TComponent reference properties, such as the DataSet property for data-bound controls, to reference TComponent instances on other form or database instances at design-time.


  • There is a new Master-Detail Database Example included with Elevate Web Builder that shows how to use the new automatic transactions for updating datasets in a master-detail setup.


  • A new "sizing grip" icon has been added to the EWB Icons icon font for use with the TDialog and TSizeGrip controls.


  • The TGridColumn ControlType property now includes the ctMultiLineEdit member for specifying that a grid column should be edited using a multi-line edit control. In addition, there is a new TGridColumn Wrap property for specifying if the content in the column should wrap to multiple lines when exceeding the width of the column, and a corresponding TGridColumn Header Wrap property for the grid column header.


  • The Ctrl-Alt-Down and Ctrl-Alt-Up keys now recursively expand and collapse nested properties in the Object Inspector.


  • The TLink control now includes TabStop and TabOrder properties so that links can participate in the tabbling flow of controls.


  • The TEditComboBox, TDateEditComboBox, TDialogEditComboBox, TFileComboBox, and TButtonComboBox controls now contain new ShowDropDown and HideDropDown methods for manually showing and hiding the associated drop-down control.


  • The CaptionBar properties of the TPanel and TDialog controls now include Icon and FontIcon properties for specifying an icon.


  • The TDialog control now includes a Sizable property for specifying whether the dialog should be sizable by the user via a sizing grip in the bottom-right corner of the dialog.


  • The TButton and TIconButton controls now include a FontIcon property for modifying the properties of an icon font when one is used as the icon in the control.


  • The TPagePanel control now includes a Border for specifying the border and a Gutter property for specifying the amount of space to show the left of the tabs for the page panel.


  • The TComponent class now includes a new FindComponent method.


Tags: Elevate Web Builder, New ReleasesPermanent Link2 Comments

DBISAM 4.43 Released with RAD Studio 10.1 Berlin Support
Posted by Tim Young on Fri, Apr 29 2016

DBISAM 4.43 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

DBISAM 4.43 now includes support for Embarcadero RAD Studio 10.1 Berlin (Delphi 10.1 32/64-bit, and C++Builder 10.1 32/64-bit).

Tags: DBISAM, New ReleasesPermanent Link0 Comments

ElevateDB 2.24 Released with RAD Studio 10.1 Berlin Support
Posted by Tim Young on Fri, Apr 29 2016

ElevateDB 2.24 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

ElevateDB 2.24 now includes support for Embarcadero RAD Studio 10.1 Berlin (Delphi 10.1 32/64-bit, and C++Builder 10.1 32/64-bit).

In addition, this release contains several bug fixes, which are detailed here.

Tags: ElevateDB, New ReleasesPermanent Link0 Comments

ElevateDB 2.23 Released
Posted by Tim Young on Wed, Mar 23 2016

ElevateDB 2.23 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

This release contains several bug fixes, which are detailed here. In addition to these bug fixes, there are the following breaking changes:

2.23 Breaking Changes
This release includes a breaking change to the IMPORT TABLE SQL statement. The IMPORT TABLE statement now looks to see if any incoming column data is enclosed in a pair of the specified quote delimiter characters. If so, then the import functionality will treat the incoming column data as a non-NULL value. However, if the incoming column data is not enclosed in the quote delimiter characters, then the import functionality will consider the data to be missing and leave the column as NULL. Previous to 2.23, any missing, quoted column data would be treated as a NULL value when it should have been treated as an empty string.

Information The last sentence of the above text is changed from the release notes included in the actual installations. The sentence included in the release notes was not correctly worded, but did not warrant re-running the builds, which takes about 6 hours.


Tags: ElevateDB, New ReleasesPermanent Link0 Comments

ElevateDB 2.22 Released
Posted by Tim Young on Fri, Feb 26 2016

ElevateDB 2.22 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

This release contains several bug fixes, which are detailed here. In addition to these bug fixes, there are the following breaking changes and enhancements:

2.22 New Features
The following are the new features in 2.22:
  • Database reverse-engineering functionality can now properly handle primary/foreign key constraint cycles (recursive relationships).


  • The ElevateDB Server thread/connection management performance has been improved.


  • The ElevateDB Server UI updates for sessions now use Windows messages for improved handling of UI updates.


  • The ElevateDB engine now uses a jittered (randomized) exponential back-off when row/table locks fail due to contention in order to improve system response time under load.


  • The TEDBDataSet AutoDisplayLabels property now also works with insensitive query result sets. Previously it only worked with tables (TEDBTable) or sensitive query result sets (TEDBQuery/TEDBScript/TEDBStoredProc).
2.22 Breaking Changes
The ElevateDB VCL DCUs for Delphi 10 Seattle are now compiled with Delphi 10 Seattle Update 1.


Tags: ElevateDB, New ReleasesPermanent Link0 Comments


Previous Entries: 1-6 7-12 13-18 19-24 25-30 31-36 37-42 43-48 49-54 55-60 61-66 67-72 73-73
Image