Elevate Software


Login Login

ProductsBulletSalesBulletSupportBulletDownloadsBulletAbout





Home » Elevate Software Blog » Build 9 of the Elevate Web Builder 2 Preview Now Available

Icon 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:

    Transactions

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

    http://www.elevatesoft.com/forums?action=view&category=ewb&id=ewb_general&page=1&msg=5908#5908

    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);
    begin
       Application.ViewPort.OverflowY:=otAuto;
       with Application.Surface do
          begin
          Constraints.Min.Height:=(Self.Height+40);
          Background.Fill.Color:=clElevateFillGray;
          end;
    end;

    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:

    lsTopLeftRight
    lsLeftTopBottom
    lsRightTopBottom
    lsBottomLeftRight
    lsTopLeftBottomRight

    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:

    \bin\fixlayout\win32

    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

Comments Comments (0) You must be logged in to comment

Image