Apesuite Beta 5 - Upgrade FAQ


Here are some Frequently Asked Questions about the Apesuite Beta 5 update...

Q:Upon trying to install the DesignTime package, I get the following: [DCC Fatal Error] Ape.Controls.Flow.Designtime.Form.pas(1): F2084 Internal Error: AV0776A5BF-R000000C7-0.  What can I do to fix?

A: This is an internal error in Delphi XE2 that occurs when trying to rebuild a designtime package when the interface of the runtime package has changed.  You should be able to fix by first running "Clean" on the designtime package and then "Clean" on the runtime package, then build the Runtime Package and Designtime package in that order.  Once things compile, then restart delphi and if the components are not visisble in the component pallete, run install on the designtime package.  

Q: Will Update 5 work in Delphi XE2, update 4?  I recall there were some issue you’d blogged about.

A: There were reports of problems specific to TSVG in XE2 Update 4.  Those issues have not yet been retested with this update.  We are preparing to do a full test on the Update 4 and fix any outstanding issues, but if you are not using TSVG please do consider trying this beta 5 on Update 4.  

Q: If I try to open the Runtimelayout demo I get all sorts of warnings about wrapmode property not being available...

A: Be sure to download the latest Demo source code from the link provided in your email.  It sounds like you did not update the RuntimeLayout demo source code and therefore have some old properties hanging around in the fmx files.

Q: What is the toolbox component is used for?

A: The Toolbox is a container component used in conjunction with the TPagebar and TPageItem components.  You can see how they are used in the RuntimeLayout demo, but the basic scheme is this.  A TPagebar implements the Ribbon-style container.  Add a page to the TPageBar and you get a TPageItem.  In the TPageItem, add multiple TToolbox components, one for each ribbon-style group that you want in the ribbon-style page.  Then drop your edits, buttons, combos, etc in the appropriate toolbox.

Q: I'm trying to apply a style to a lightbox and am getting an access violation. 

A: We make several assumptions about the style used for the lightbox and if those assumptions are not met with your custom style, then AV's could occur.  The best way to ensure that our assumptions are met are to use the Load... feature in the style editor to load the file and examine the style from there.  Make sure that whatever style you are building maintains the control heierarchy and has style names that match the template controls.  The style elements you use should also be TControl descendants, in particular regarding the Shade and Form base components.

If those rules are met, styling should work flawlessly.

Q: The close button is not appearing in the lightbox.  What can I do to fix?

A: We use SVG icons in our default lightbox style and therefore require the Ape.Controls.SVG unit to be in the uses clause of your forms.  Apparently Delphi XE2 is not smart enough to know the units required by the style in addition to those required by the component.  At this time you will manually have to add it to your uses clause until we can figure out a work-around.




Apesuite Beta 5 Released


We are pleased to announce the release of Apesuite Beta 5.  Registered users will be receiving their updates via email shortly. 

Changes and Fixes

  • New IDTags property allowing you to retrieve the TTag for the associated ID.  Using the TTag object you can get at element attribute data, the control reference and other useful information about the source SVG element.
  • WrapMode has been removed and replaced with the property SizeMode with options Stretch, Fit and Original.  The prior WrapMode property worked by altering the scale.x and scale.y property programatically to achieve the desired effect.  Now with the SizeMode property we do that work internally and the scale.x and scale.y properties should never programatically be altered by the TSVG component. If you are upgrading your project, you will want to check your existing TSVG components to make sure that the scale.x and scale.y are both reset to 1 otherwise your SVGs will potentially look warped after upgrading.
  • Viewbox - SVG files with a viewbox setting is now correctly rendered.  This means that clipping which should have occurred in the past now correctly occurs and scale effected by viewboxes not equal to source width and height are now rendered correctly.
  • Filters - While filters are still not yet supported, major work has been done to support the feature in a future release.
  • Fixed scaling issues when SVG was made really, really small.
  • Fixes to tab orientation and opacity bugs.
  • Refactored published properties to a few TPersistent properties with the intent simplify development.
  • Implemented new Features property allowing you to select which features you wish to be enabled in the designer at runtime.
  • Fixed display bugs
  • Updated to be compatible with new TSVG wrapmode changes.
New Components
  • TFlowLayout - A container control that automatically repositions its children such that they wrap to a new row or column if it extends the bounds of the container. TFlowLayout supports Vertical and Horizontal flow and includes a component editor to allow simple reordering of child controls at designtime.
  • TLightBox - A container control that shows it's children in a modal web-style semi-transparent lightbox.  The container can hold any Firemonkey control or multiple controls and is completely configurable via Firemonkey styles.
  • TListControl - A TListBox implementation that fixes bugs in the TListBox control that comes with Firemonkey, specifically regarding drag-drop item reordering.
New Demos
  • SVG Game - An example of interacting with SVG files programatically in the form of a top-down racing game. Shows how to do collision detection of an SVG path, Apply Firemonkey effects to SVG controls and elements and coding for SVG files by element IDs.
  • Flow Layout - An app that shows usage of the Flow Layout container and shows a subform in a Lightbox.



New Fun TSVG Demo (and Apesuite Beta 5 update info)

I just wanted to drop a quick note to everyone to let you know that Apesuite Beta 5 is coming along nicely.  A lot of the bugs that were reported have been fixed and several requested features have been implemented.  We're nearing release so if you want to make sure a specific SVG file is rendering correctly, now is the time to send it our way.

In the meantime, I thought I'd give you a sneak peak of one of the new fun demos included in the Apesuite udpate.  It's a rudamentary top-down racecar game and makes use of several firemonkey filters, effects and animations in combination with TSVG components.  It also implements the race track, including boundaries and hazards as a single SVG file allowing you to develop your own levels in any SVG editor like Inkscape or Adiobe Illustrator.

The game isn't perfect by any means and only represents how you might go about doing something like this with TSVG and hopefully gets your creative juices flowing.

Have fun with it.  We probably won't be fixing too many game mechanic bugs in it, so if you want to fix it or enhance it in some way, we'd be happy to take your submission once you get the source code.

That's it for now.  Enough fun and back to the code.  We've got an update to get out after all.

Apesuite SVG Game Demo


Delphi XE2 Update 4 Warning

There have been reports of problems with Delphi XE2 Update 4 and our components.  At this time it is our recommendation that if you are doing Firemonkey development and in particular if you use our components, that you remain on Update 3 for the time being.

We currently are not sure about the source of the problem but will publish more information when we have it to share.


Intraweb Elite Suite update for IW 12 

We would like to announce that thanks to the hard work of project contributor Pedro Lopes, the IW Elite Suite has been upgraded to be compatible with Intraweb 12.  

The updates have been pushed to Google Code and can be found here: