GraffitiSuite Release 18 Now Available

Johnson City, TN (November 6, 2014) CyphersTECH Consulting announces the biggest GraffitiSuite release ever.

According to Anthony G. Cyphers, owner at CyphersTECH Consulting: “We’re definitely excited. Not only is this the biggest release of GraffitiSuite in our more than ten year history, it may also represent the pinnacle of what we’ve been trying to accomplish from the start: a stable, beautiful set of classes that developers will enjoy using. We’re very proud of the work we’ve put in to this release and the associated web site changes that coincide with it.”

Many of the Web Edition products have been rewritten or been changed rudimentarily, also having five new line-up additions. Desktop classes now have full Retina support, and one product.

For a full overview of the changes in this release, please view the change log at

GraffitiSuite consists of many great classes for Desktop and Web development. All subscription customers have access to the GraffitiSuite bug tracker.

For more information about GraffitiSuite, visit
To subscribe to and get access to these amazing products, visit

CyphersTECH Consulting is a software and web development consulting firm based in Johnson City, TN. CyphersTECH offers custom local application development, web application development, custom Xojo development, and JavaScript development.
See for more information.

New Bug Tracker

We’re testing out a new bug tracker! It should be a vast improvement over the old one. If you’re a current member and you have a bug to report, it should now be easier than ever.

In The Works: Biggest Update Ever

It has taken a great deal of work, but GraffitiSuite release 18 is nearly ready, and it’s a beast! It will contain four or more new products, vastly improved Retina support on the desktop side, rock-solid jQuery implementation on the web side, a completely reworked GraffitiWebColorPicker, and a great deal of fixes and changes.

We may decide to run a sale for this release. If so, those details will be forthcoming.

Release 17: Two New Classes, Lots of Bug Fixes

We’ve now pushed out GraffitiSuite Release 17, which focuses on increasing stability and offerings for our Web Edition lineup. We’ve fixed all of the bugs that were reported before our cutoff (a little over a week ago), and this promises to be the best GraffitiSuite Web Edition release yet.

For a full list of changes in this release, check out the ChangeLog.

Release 16: Desktop/Web Fixes & New Classes

This release has been a long time in the making. We’ve worked out the major issues with our initial release of GraffitiSuite Web Edition, and even made some additions to assist in web app development. For desktop, we’ve fixed a few bugs that were introduced a little while back.

[FIX] DESKTOP: KillerToolBar now once again clears button hover states when mouse exits the control.
[FIX] DESKTOP: KillerToolBar buttons no longer have captions cut off when in "Labels Only" state.
[FIX] DESKTOP: KillerToolBar is now redrawn properly when customizing button order.
[FIX] DESKTOP: GraffitiAccordion control refresh slightly optimized in an attempt to reduce flicker when refreshing those controls on Windows.
[NEW] WEB: Added GraffitiWebFavIcon
[NEW] WEB: Added GraffitiWebSignature
[NEW] WEB: GraffitiWebAccordionNavItem now has a Tag as Variant property (Report ID: 1873).
[NEW] WEB: GraffitiWebAccordionNav now has a RemoveAll method (Report ID: 1875).
[NEW] WEB: GraffitiWebAccordionNav now has a AddChildToItem method (Report ID: 1874).
[NEW] WEB: GraffitiWebToggle now implements a Visible property (Report ID: 1877).
[FIX] WEB: GraffitiWebAccordionNav's Remove() method now properly updates the view.
[FIX] WEB: GraffitiWebEditor no longer fails with JS error "$ is not defined" due to setting Text property before class is shown.
[FIX] WEB: GraffitiWebEditor no longer throws OutOfBoundsException when Break On Exceptions is enabled and the field's text is empty.
[FIX] WEB: GraffitiWebEditor no longer supports resize.  This is a temporary adjustment until a more intuitive system can be established.
[FIX] WEB: GraffitiWebAlert no longer throws assertions when attempting to Alert on Page.Shown, instead, this call is ignored.  All calls should be made after the GraffitiWebAlert class is instantiated, not the page.
[FIX] WEB: GraffitiWebAccordion no longer improperly references GraffitiWebAccordionNavItem in the Item_Find and Item_Remove methods.
[FIX] WEB: GraffitiWebPopupMenu should now resize properly.
[FIX] WEB: GraffitiWebEditor should now resize properly.
[FIX] WEB: GraffitiWebEditor should no longer scroll off or change size inappropriately.
[FIX] WEB: GraffitiWebEditor no longer loses data assigned to the Text property in the IDE.
[FIX] WEB: All classes now load dependency scripts from files stored on the server [REQUIRES BUILD STEP].
[CHANGE] WEB: GraffitiWebPopupMenu's Items() array and UpdateOptions() method are now exposed to allow more manual control.

Release 16 Web Edition Progress

Due to some major flaws in our implementation of the new WebSDK for Web Edition, we’ve had to push back Release 16 a great distance from our originally intended date. We’re nearly ready to push it out, so here’s an update on what you can expect.

Continue reading →

Release 15: Web Fixes and Desktop Modifications

Release 15 includes the launch of our Web Edition demo site! Simply go to to check out our Web Edition wrappers!

[FIX] GraffitiWebToggle now supports varying width and height. (Report ID: 1840)
[FIX] Removed calls to LogMessage function of pgeDemo from GraffitiWebGrid.UpdateOptions.
[FIX] GraffitiWebGrid now properly handles passed date objects regardless of locale.
[FIX] GraffitiWebGrid no longer throws exceptions on Slick not found when libraries load long before the control is shown or vice-versa.
[FIX] GraffitiWebEditor no longer throws exceptions on jqte not found when libraries load long before the control is shown or vice-versa.
[FIX] GraffitiWebSlideshow now uses images hosted at to avoid 404s.
[FIX] GraffitiWebColorPicker no longer throws exceptions on colorpicker not found when libraries load ling before the control is shown or vice-versa.
[FIX] GraffitiWebGrid now properly converts foreign dates for display. (Report ID: 1843)
[ADD] GraffitiSplitter now fires a Moving event when the control is being dragged. Note that this event is fired at a high rate (Thanks to Jim Lam for the suggestion).
[ADD] GraffitiSplitter now fires a Moved event when the mouse is released after a drag operation (Thanks to Jim Lam for the implementation)
[ADD] GraffitiScrollContiner now has a UpdateDictionary method for updating control positions and sizes in the dictionary when you have done so manually (Thanks to Jim Lam for the implementation).
[FIX] GraffitiScrollContainer now uses Control.Handle to track UI element position as opposed to name. This addresses issues with control arrays (Thanks to Jim Lam for the implementation).

Current Known Issues

There is an issue with the product downloads where there are some images missing. This will be rectified when we release for December (in just a few days).

The Demo application also exhibits an error on Windows that app.GDIPlus must be enabled. We’re not quite sure what caused this setting to revert to FALSE, but it will also be fixed for the next release.

Web Site Fixes

Tonight we addressed a few issues with our website. Recently, people whose accounts had expired could no longer extend their subscription period without contacting us. Tonight we modified the web site in such a way that all expired users may now log in to the web site and upgrade or renew their account.

Another issue we addressed was in reaching the downloads after purchasing a subscription package. Now, when you have completed payment, you will be redirected to the Products page, when your download link will be visible on the right-hand side.

Have You Seen This?

Have You Seen This?
We’ve gotten reports over the last few years about project analysis from the IDE. The main one being that the IDE will drop a scan if it hits an error in an encrypted class. We reported this some time ago to RS, but, if I remember correctly, they said it was by design. So, when you see this…

You need to open a new project and force an analyze error. You then need to change what is reported. The main ones are the Unused Parameters and Unused Variables. Anything else, if reported by Analyze about GraffitiSuite, would need to be reported.

So, how do you force an analyze error in a new project? Well, it’s really easy. We’ll start-up a new desktop project, add a class with Canvas as the super, and add the following code anywhere except the Paint event.

Dim g As Graphics = me.Graphics

From there, just go to Project > Analyze, and you’ll get the analysis results screen. The button on the top-left of that tab allows you to select what is reported by the Analyze engine.