Elevate Software

Login Login


Home  Elevate Software Blog

Icon Elevate Software Blog

Build 9 of the Elevate Web Builder 2 Preview Now Available
Posted by Tim Young on Fri, May 22 2015

A new build 9 of the Elevate Web Builder 2 preview is now available on the web site:

Elevate Web Builder Downloads

It fixes the following issues:
  • An issue with a thread lockup with the EWB Web Server during request disconnects (caused in build 8).

  • The EWB Web Server was setting the Expires header in a way that would cause Chrome/Firefox to not detect new versions of an application properly.

  • An issue with the EWB IDE where the embedded IE web browser would get stuck in a hard loop during shutdown. This would especially happen after AJAX (TServerRequest) errors, and especially if running the application from the local file system.

  • An issue with the event handlers for the current form being cleared if the project was compiled/run/saved while there was a compilation error for the current form (caused in build 8).

  • The transaction commit functionality has been re-organized (again), so please read up here on how it works now:


    and here is my post on the changes in the thread that discusses the issues with the previous design:


    As mentioned in that post, there's a new transactions example project included with EWB 2 that shows how to handle transactions, and more specifically, transaction commit retries.

  • The compiler has been updated to fix a bug where it wouldn't properly detect invalid event handler assignments. Previously, the compiler would allow function events (return value) to be assigned to procedure events (no return).

  • Layout stretches now properly respect the specified constraints for a UI element/control. This was an omission that I hoped to resolve before the final release, and I took a moment to do so. This seems like a non-issue, but it's *very* important for enforcing the size of the TSurface while still allowing the TSurface to stretch to fill the available space in the browser viewport. This will be especially important when "flow" and other similar options are added later.

    All of the existing example projects have been updated to reflect this new capability, and you will see the following code in each:

    procedure TMainForm.MainFormCreate(Sender: TObject);
       with Application.Surface do

    Each example's main form is set up to be positioned in the center of the TSurface control (Layout.Position=lpCenter). By default, the TSurface control's layout is set to position to the top-left and stretch to the bottom-right. What the code above does is tell the UI manager that the surface should never stretch smaller in height than 40 pixels larger than the main form (visual spacing). Combined with the viewport overflow setting, this makes sure that the surface is always large enough to show the main form, while still allowing the surface to stretch to fit the viewport if the viewport is taller than this minimum height. The result is a nice, centered main form at all times, with a browser vertical scrollbar appearing when the height of the browser gets too small. This is especially important on Chrome on Android, which (incorrectly, IMO) resizes the browser when the soft keyboard is displayed, instead of simply overlaying the soft keyboard over the browser.

    As part of the above change to the stretching, I took the opportunity to remove a few of the layout stretch options that should not have been there in the first place. These layout stretch options (TLayoutStretch type) combine position with the stretch, which breaks the design concept of the Layout.Position property being the only property where you specify positioning. The stretch options that have been removed are:


    However, the downside of this change is that other layout stretch values now need to be updated. I've included a fixlayout utility in this build, and you can find it in the:


    subdirectory under the main installation directory. It's pretty self-explanatory: you run it, select the output directory (updating is *not* in-place) for the modified forms/interface files, and then select the forms/interfaces that you want to update. After updating the selected files, backup any existing files and then copy the modified files over the existing files. The standard control interfaces and example projects included with EWB 2 are already updated.

  • The XE8 module templates were not being installed properly.

Tags: Elevate Web Builder, PreviewPermanent Link 0 Comments

DBISAM 4.41 Released
Posted by Tim Young on Mon, May 11 2015

DBISAM 4.41 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions. You can view the release notes, including any breaking changes, on the download page before downloading.

This release includes support for RAD Studio XE8 (Delphi 32/64-bit and C++Builder 32/64-bit). It also contains bug fixes for several incident reports, which are detailed here.

Tags: DBISAM, New ReleasesPermanent Link 0 Comments

ElevateDB 2.19 Released
Posted by Tim Young on Mon, May 11 2015

ElevateDB 2.19 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions. You can view the release notes, including any breaking changes, on the download page before downloading.

This release includes support for RAD Studio XE8 (Delphi 32/64-bit and C++Builder 32/64-bit). It also contains bug fixes for several incident reports, which are detailed here.

Tags: ElevateDB, New ReleasesPermanent Link 0 Comments

Elevate Web Builder 2 Release Delayed Again
Posted by Tim Young on Sun, Apr 26 2015

Unfortunately, I'm still not quite finished with the Elevate Web Builder 2 documentation, so the release is going to be delayed for a few more days. I will be uploading a new preview build today, however, so that everyone can start using the release candidate product. My apologies for the delay.

These are the new features in the release candidate:
  • You can now bundle external images, fonts, etc. in addition to Javascript using the project manager. However, the web fonts are not being registered yet, so don't use them yet. I'll be adding this in before the final release.

  • There's a new "Reset Interface" option in the form designer that allows you to reset the interface of a control to its default state. This is useful when switching out control interfaces.

  • There is now support in the dataset transactions for fail-safe commits. You can retry commits that fail as many times as necessary. In addition, this means that commits are asynchronous also, and so you can use transaction wrappers around dataset update events without worrying about timing issues with the transactions, or trying to chain together event handlers.

  • The TDatabase.Load method is now called LoadRows. This is due to the inclusion of a new TDatabase.LoadColumns method. The general idea here is to allow for more dynamic datasets from the back-end web server application.

  • You can use user/password parameters for authentication instead of http headers. There's a new TDatabase.AuthenticationMethod method for specifying this (default is headers).

  • The object persistence is done, meaning that you can now load/save TPersistent descendants to/from JSON using a couple of method calls.

  • There's a new TViewport class whose instance is attached to the TApplication global class instance. You can use it to specify whether or not to show scrollbars in the browser viewport (separate X and Y overflow properties), as well as retrieving information about the browser viewport size.

  • The TGrid control is done. It includes automatic fit for columns (right stretch) and the ability to turn on/off column headers and lines. It can now also have a transparent background, which you can see in action in the multimedia example (see below).

  • The TAudio/TVideo controls are done.

  • Double-taps are now being properly mapped to OnDblClick events for touch environments.

  • There's a new standard interface that is more in line with the Windows8/Metro style. If you liked the old one, then you're going to have to wait a little while before I can update it for all of the new controls that have been completed since I switched out the old interfaces. I've also got a more rounded interface that will be published soon, also, and it uses Google's Open Sans font, by default.

  • There are new clElevate* colors that represent a default color scheme that is used in the default standard interface. It contains 3 shades of black, gray, blue, orange, and green, as well as a gray background fill color.

  • The TEWBDatabaseAdapter component for Delphi now includes a HandleRequest method that will take an incoming TServerRequest from an EWB server module and handle all of the messy details of processing the request and generating a response. In addition, there are now new TEWBDatabaseAdapter.OnAuthenticateUser and TEWBDataSetAdapter.OnFilterRows events that allow you to automate authentication and filtering of datasets. The TEWBDatabaseAdapter now also handles URL user/password authentication (see above).

  • There are 3 new sample projects, one for multimedia, one for layout properties, and one for object persistence (see above).

  • There are quite a few little bug fixes and minor changes to the interfaces. If you've modified/customized the interfaces at all for your projects, then you may have to adjust your modifications to accommodate some of these changes.
If you encounter a bug with the release candidate, please report it, but don't necessarily expect a fix before the actual release. If it's anything more than a very simple fix, I'll probably delay it until after the release. I'm planning on doing a quick minor release anyways in order to clean up any leftover issues that needs to be addressed.

If you don't see a particular feature/control property, method, or event, then it won't be in the initial release. Just submit an enhancement request and I'll work it in ASAP.

Tags: Elevate Web Builder 2Permanent Link 0 Comments

Elevate Web Builder 2 Presentation at TDUG Meeting
Posted by Sam Young on Tue, Apr 21 2015

Tim and I were graciously invited to showcase Elevate Web Builder 2 at the Toronto Delphi User Group meeting scheduled for May 4, 2015. If you will be in the Toronto area, you'll want to be sure to attend. Tim will be demonstrating Elevate Web Builder 2, focusing on the exciting new features and ease of use that are the highlights of the new version.

The meeting will be held at the Northern District Library, 40 Orchard View Blvd. in Toronto, from 6-8 PM. We hope you can attend - we are very excited about the product, and of course it would be great to meet you and be able to put a face to the names of those we've been communicating with over the years.

For more information, you can visit the TDUG website.

If you will be attending or if you have any questions, please email me at samyoung@elevatesoft.com and let me know.

We're looking forward to seeing you there!

Tags: Elevate Web Builder, PromotionsPermanent Link 0 Comments

Product Status Updates and Development Notes
Posted by Tim Young on Mon, Apr 20 2015

Just a quick status update on all of our products, and some notes to address various issues:
  • XE8 support is coming soon, probably this week or next.

  • If you have a support issue (not a question, such as "How do I....?") for EDB or DBISAM, please contact us at support@elevatesoft.com directly. As great as the peer help is on the support forums, it's not fair to those helping out since they're providing their time free-of-charge. I consistently see issues being posted on the support forums from customers that I know have a number of grandfathered support sessions. If you have support sessions, please use them. If you don't, then I don't think that $19 for a support session is going to be a burden for most developers.

    To find out if you have support sessions available, please visit this area of the web site:

    Support Sessions

    (you must be logged in)

    If you're unsure about whether to contact us directly or not, go ahead and contact us directly and simply ask if the issue is appropriate for the support forums, or whether it is something that requires a support session.

  • I know that I've been scarce on the EDB/DBISAM support forums, and that EDB/DBISAM haven't been getting much attention over the past year. This is, unfortunately, the case when I'm heavy in development on a different product (EWB 2). Due to the fact that we're short on developers here, major product revisions have to be done in a serial fashion, so while I'm working on a new EDB revision, EWB won't be seeing many major improvements, or vice-versa. I know that it must be frustrating to see so much attention given to EWB when you're not an EWB user, but EWB is an important part of our future since it has the potential to make the company much stronger. So, indirectly, this type of development means more resources for adding improvements to the other products. Be sure to check out EWB 2 when it's released next week. It's pretty cool and works well with both EDB and DBISAM.

    EDB 2.x is finally going to see some major improvements coming up in early summer. Most notably, Mac support, nested transactions, and a web administration interface. I've also started work on a profiler/tracing layer for the EDB Server, which is really cool because you can see everything that goes on in the EDB Server, including how long it takes to execute every SQL statement, etc.

    EDB 3, while it's been stalled for a while, is still on the map. It will be a departure from EDB 2.x in several ways, though, which is why a) it's been stalled and b) I'll be doing a round of improvements (noted above) before continuing on with EDB 3 this summer.

    DBISAM has been in "legacy" mode for some time now. We'll continue to release new updates for new Delphi compilers, and try adding little improvements where they can be added. Internally, we still use DBISAM and now have it replicating data back and forth between here and our Chicago web server. If you're interested in this type of functionality for DBISAM, let me know and I'll consider publishing it as part of the product. It's completely fail-safe, and maintains transaction boundaries while replicating.

  • I cannot stress enough how important it is to us that everyone has been keeping up with their subscriptions. It is not only greatly appreciated, it is vital to keeping revenue coming in. If you haven't renewed your product subscription lately, then please re-consider doing so. If you have an issue with your subscription, then please let us know and we'll be happy to help you out in any way that we can.

Tags: Update, Support, Support SessionsPermanent Link 0 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-78 79-84 85-90 91-96 97-102 103-108 109-114 115-120 121-126 127-132 133-138 139-144 145-150 151-156 157-162 163-168 169-174 175-180 181-186 187-192 193-198 199-204 205-210 211-216 217-222 223-228 229-234 235-240 241-246 247-252 253-258 259-262