Archive for the ‘TJSDialog’ Category.

Introducing Demo Browser… (from the pile of never to be released…)

It is interesting what you find in your drafts folder. From January 20, 2012! I guess my interests got consumed elsewhere. Still think the idea has merit.

I’m sure everyone has a stack of ideas that never really get off the ground for one reason or another. This is just one of plenty for me!

NOTE: This was used for the JSDialog Pack demos way back when so it kind of got released for in-house use.

The Demo Browser is an application that allows component vendors to showcase the demos that come with their products.

One of the main issues developers face is how to make “my application” do what is being done in a screen shot shown on the particular vendors site. I know this because I am also a consumer of third party products and trying to work out how a component works can be time consuming. The aim of Demo Browser is two fold, firstly allow a products demos to be located in a common front end and secondly to help spotlight important features within those demos.

The idea originally came about when seeing a number of questions about Delphi specific features that were covered by sample applications that shipped with the product. It is fine to tell them to go and search through a bunch of directories (some Delphi versions he “hide” the demo folder is some obscure location – it has since become more obvious where the demos are, but I digress).

So a central location for demos is what Demo Browser is.

Some History

Like most things I develop I usually mention it to a number of people I consider my sounding board. They seem to be very good at determining what might be a good thing and what may not (even though we don’t always see eye to eye – which is a good thing). I first bounced the Demo Browser idea off a former Borland (yes a while ago now) employee whom I had coffee and social chats with on a regular basis. So the first Demo Browser prototype was dynamic. It could read in the demos folder of your Delphi installation and process the information into a nice central view. Here are some of the initial screen captures (these were created August 3, 2007).

Demo Browser prototype

Demo Browser: summary

Demo Browser: readme

Demo Browser prototype

Demo Browser: screen capture

Demo Browser: filtering

Demo Browser prototype

Demo Browser: filter view

Demo Browser: video

JSDialog Pack 2.0.021

A new version of JSDialog Pack was sent to customers earlier this month. If you haven’t received your Delphi XE3 compatible version of JSDialog Pack, let me know.


Release History

October (2.0.021)

– Add support for Delphi XE3
– Make non-modal dialog sheets move when the form is being moved or resized
– Fix combo box items not being set when default values specified
– Fix non-native progress bar state colours being incorrect


License Change

Like XE Plus Pack, JSDialog Pack as had a license change where new licenses are now lifetime licenses with no more to pay. You will continue to receive each new version with no additional payment. This is retrospective for the past 18 months of purchases. If you think you fall into this category, send me an email from the account used for the purchase.

For those that had been customers previously and decided not to renew, but would like to, contact me and we’ll work out the top up fee.

New licenses with lifetime support and upgrades are available for 90 Euros.

JSDialog Pack: Dialog Creator Preview

A tool to help make the creation of JSDialog Pack dialogs even easier is currently in the works. With the Dialog Creator application you can complete the sections you want the dialog to support. Once finished you can instantly preview the final look and then either copy the code required to generate the dialog, or copy the dfm required to paste it directly on a form.

Dialog Creator


Code Generation

To prove it is currently being tested, the code generation should probably call the method that actually displays the dialog!

The initial release will just support the creation of TJSDialog dialogs, with other dialog (Edit, Dual Edit [new in next release], Password and Check) support to be added in the future. As well as other code generation features and also a reusable gallery that contains the ability to save and load regularly used dialogs.

A new version of JSDialog Pack is almost ready to be released, hopefully sometime next week.


JSDialog Pack users get a 50% discount off the initial XE Plus Pack purchase, making it just 20 Euros! Contact support for details.

Visual Forms: minor update + new sku details

Update Details

Currently a minor update is going through final testing.

  • This update adds a filter bar to the UI of the Visual Forms window and allows you to filter displayed forms by type. Current filters available are Forms, DataModules and Frames.
  • Auto update on save will now only update the form image if the designer is active in the IDE. This prevents the toggling that was previously occuring if just saving changes to the editor.


Currently when you purchase Visual Forms, you get access to all IDE versions. The new SKU will give you access to your preferred IDE version. As long as your IDE version is Delphi 2007, Delphi 2009, Delphi 2010 or Delphi XE. Naturally this will also bring in a reduction in price.

JSDialog Pack

An update is also planned for release in the middle of March 2011.

JSDialog Pack 2.0.003

The new version of JSDialog Pack has been released. If you haven’t received your copy, let me know.

The main feature for this release is Delphi XE support.

Next JSDialog Pack Version

This was sent yesterday to all registered users of JSDialog Pack (or just TJSDialog). Reposting here because occasionally emails get lost or rejected.

I am putting the finishing touches on the next official release of JSDialog Pack. By now, Delphi 2009 users should have had enough time to make sure there were no issues with the Delphi 2009 beta version that was sent out at the start of October.

If you have always wanted to request a feature (for either JSDialog or JSEditDialog) but never got around to it, now is your chance. This will be the last update (unless a hotfix is needed) until March, 2009.

Update: One response so far has been to allow supporting the GNUGetText localization method. This is currently being considered.

JSDialog – Version 1.0.049 Now Available

A new version of JSDialog Pack is now available. Registered users should have received their copy last week. If you still haven’t received your release notice, then please contact me ASAP.

New features since the last blog post includes:

  • Unicode support for D2005 – D2007 versions.
  • Ability to include basic html formatting in content, header and footer sections
  • enhancements to radio buttons

Version History

Version 1.0.049
March 13, 2008

– Allow TJSCommandLinkButton controls to be used at designtime
– Include a package to allowing installing TJSCommandLinkButton at designtime (d2007 only)
– Fix a minor alignment issue
– Add new BiDiMode and ParentBiDiMode properties to various controls (support not fully implemented)
– Add a version information menu item to the components context menu at design time
– Help Link not displaying HandPoint cursor
– Help Link not positioning correctly when the button bar is invisible and command links are shown
– Fly over hints not working for command links and custom buttons (New property on TJSDialog descendants called ShowHint – default = False)
– Painting of the instruction background not covering the correct area when Instruction.ShowGlyph is true and an icon type is set
– Positioning of the radio buttons incorrect when an expanded dialog has more lines visible in the dialog body
– Footer not updating if changed when dialog is visible
– Raise ENoHelpLinkException type exception when Help Link has been clicked but default handling can’t find associated help file

Version 1.0.047
February 7, 2008

– Add support for grouped radio buttons (columns and border)
– improve control alignment and consistency
– improve usage of TButton controls where possible
– support disabled command link buttons
– support ability to hide custom buttons
– improve size calculation
– make size adjustments more efficient
– new public method “Update” added to TJSCustomDialog to force dialog to update
– draw border widths that are greater than 1 correctly
– new virtual method HeightAdjustment
– new virtual method WidthAdjustment
– document missing properties and classes
– new event OnKeyPress
– support Unicode content
– support formating in Content, Header, Footer sections.
– register TJSDialogCheck component by default
– Make sure a headers glyph size is only used for calculating the header rect if the Icon property is tdiCustom
– Always allow Alt+F4 to close a dialog when it is being previewed in the IDE
– Fix various Installation application issues

Radio Buttons with Columns
Grouped Radio Buttons
Formatted Text

JSDialog – Update now available

As mentioned yesterday, the new version of TJSDialog has been released to registered users.

You can download a compiled version of the main demo for the component.

More information about the new release available from

To purchase your own license(s) visit the purchase page.

JSDialog – Check these out

An update for TJSDialog should be available tomorrow. Here are a couple of dialogs you can create using TJSDialog the you can’t with the native Vista API.

The native API doesn’t even support a header section, let alone a header section with a gradient background.

The native API supports radiobuttons. TJSDialog supports radiobuttons and given the powerful nature of TJSDialog, it can also support checkboxes inplace of the radiobuttons. An extra component is even included so you don’t have to handle the required events. All the work is done for you.

The commandlink control used in TJSDialog is more advanced than the default Vista implementation. You can assign an additional picture (such as what is displayed on the Copy file dialog) as well as assign the additional picture or glyph from a specific image list.

There are a number of other additional features in TJSDialog that isn’t included when you use the native API, apart from the fact that TJSDialog works under Win2000 and WinXP (and should also work under Win95 and Win98).

The code for TJSDialog compiles in every Delphi version from Delphi 5 through to RAD Studio 2007 (except Delphi 8).

Custom Controls
With TJSDialog you can even use other vendors controls to keep a consistent look and feel for your entire application, including the dialogs. This means that if you use one of the custom Raize or Developer Express styles, you can replace the default Buttons on TJSDialog with a button from one of these vendors and not have your dialogs look totally different from your application.

Don’t like the TJSDialog progress bar implementation, replace it with a thirdparty one.

TJSDialog is extremely powerful, it is just waiting for you to unlock it. It is so powerful that you will find that many custom forms in your projects can be removed and replaced with TJSDialog components. I have done this several times in projects of my own.

Component Editor
TJSDialog ships with a comprehensive component editor that offers preview functionality. This way it is easy to experiment with properties and easily check how the dialog will look.

You can visit the TJSDialog website for further information.

TJSDialog: Version 1.0.031 now available

The new version of TJSDialog was released today. Registered users should have received an email with the new version details in it.

If you have not received an email from me, please check your spam folder. If you can’t find the email amongst your spam, please contact me.

Some of the new items for this version:

  • Improved Command Link Button appearance and sizing
  • Improved Dialog sizing when long strings appear in content
  • Support for Snap to default button setting
  • Accelerator prefixes not shown in message text
  • Accelerator prefixes only shown when supposed to on Command Link Buttons
  • Improved Classic look
  • Support for multiline footers
  • Ability to localise strings at runtime
  • Implement Picture property on Command Link Buttons
  • plus more…

To find out more about TJSDialog visit