Category Archives: Clarion News

Clarion 10 – new release

Today we released an update to Clarion 10; build 12104. This release is available, free of charge, to all Clarion developers who have an active subscription plan.

The update contains a number of important bug fixes and stability enhancements. We recommend that all developers upgrade to the latest version of Clarion 10 to maintain the highest level of performance and reliability. You can read about all the changes in this release here.

If you haven’t already renewed your subscription, now is the perfect time. Go to the Clarion store.

New release for Clarion 10

We released the first update in 2016 for Clarion 10 yesterday (Feb 5th). In addition to a number of useful fixes and changes, and a couple of new features, (read all of them here), we’ve now dual signed SHA-1/SHA-2 all redistributable components.

There is a useful article on MS technet site technet article which leads of with this:

Effective January 1, 2016, Windows (version 7 and higher) and Windows Server will no longer trust new code that is signed with a SHA-1 code signing certificate for Mark-of-the-Web [This link is external to TechNet Wiki. It will open in a new window.] related scenarios (e.g. files containing a digital signature) and that has been time-stamped with a value greater than January 1, 2016. This cut-off date applies to the code-signing certificate itself.

With the Clarion redistributables dual signed you’ll still be able to deliver your products on pre-Windows 7 devices.

Happy New Year to all Clarion developers!

Status update: Last week we sent out a pre-release for beta testing, we’ll have a regular public release out early in January.

From everyone at SoftVelocity, thank you for your continued support for the tool we all love; Clarion.

Happy New Year! and we look forward to delivering updates to you in the new year.

Clarion 10 update

We have a new update going out today. There are some interesting features to mention.

FEATURE: (ABC & Clarion) ActiveImage class. Image control now supports Template Actions.
This release has an initial start on template support for utilizing the new ActiveImage class.


The idea is to make it easy to use the Theme images that we introduced at the CIDC last month. The ActiveImage template provides functionality to your Image control so that it “mimics” — behaves similar to a Button control. Filling in these prompts causes the Image control to post the EVENT:Accepted to the original control when the image is clicked. The template uses the ActiveImage CLASS to provide the functionality.

For the Themes – we added a whole new set, and now each theme comes with over 2100 images ready to use in several sizes.

Themes web page, where a zip file is available

Clarion UIX Themes – GitHub project page

We’ll be looking for feedback on the template and we need to gauge the interest level in the themes to see what direction the template will take in the future.

Another interesting feature;

FEATURE: Implemented user-defined properties:

A user-defined property allows you to associate a string value with any entity’s standard properties
for example: built-in variables (SYSTEM, PRINTER, TARGET), WINDOWs, REPORTs,
controls, bands, etc. The syntax of user-defined properties is the
same as for standard properties but a string (constant or expression)
is used to identify the property rather than a property number:

[target $] object {property-name [, index]}


SYSTEM {‘User-Name’} = ‘Frank Sinatra’ !Set the name of the current user
MESSAGE(‘the user is: ‘ & SYSTEM{‘User-Name’}) !displays the text ‘Frank Sinatra’

And I should mention this one;
FEATURE: You can now create an app from txa and export an app to txa using Clarioncl -ai appName txaName (import) and Clarioncl -ax appName txaName (export) respectively

There are also some important fixes in this build, so enjoy it!

Clarion 10 gold released

After over 4 months of beta testing, and 10 beta releases, today Clarion 10 gold is being released. In my previous post I listed some highlights for this release. When you get your email notification be sure to download the install and back it up. Then head over to our new store site and renew your subscription. Like all software, the work on maintaining and evolving Clarion never comes to an end. And our developers and support team send thanks to everyone who has helped shape this release!

Some highlights for the C10 release

These are highlights of new features in 10.0, for the complete list of fixes, changes and enhancements please refer to the readme text file as its always up to date with all of the latest new features, changes and fixes. All of this information is in the main Help file under the “What’s New in this Version” topic with links to the related topic content.

Big performance boost – in most cases your build time will be cut in half (or better).

  • New scanner for the Clarion (CLW) compiler
  • Support of nested OMIT/COMPILE blocks. Every source/include file
    can have nested OMIT/COMPILE blocks with a maximum nesting equal to 8 with a condition that when evaluated does not omit source, plus one additional OMIT/COMPILE with condition evaluated to omit source code.
  • The compiiler’s scanner uses the OS settings to determine the type of characters to expect. That allows for local national language alphanumerics to be used in identifiers (LABEL).

Dictionary Global Search and Replace
Powerful global Search and Replace for all the settings/attributes of FILEs, FIELDs.and KEYs.

TCP Networking – Client/Server communications
Drop-in a template to put network communications into your applications (using TCP/IP over a LAN/WAN or the Internet). You can pass messages (or files) between applications running on the same computer, and from one computer to another. You can also broadcast messages to all connected computers or processes. The templates and underlying QuickAppConnect class handles all the difficulties associated with socket programming.

The associated Code templates listed below provide support for the following
Socket “Actions” without writing any code:

  • Connect to Server
  • Disconnect from Server
  • Start Server
  • Stop Server
  • Initialize IP and Name
  • Send Message
  • Send Notification
  • Broadcast Notification (broadcasts a message to all connected apps)
  • Broadcast Shutdown (tells all connected apps to shutdown)

Language extensions – templates for Sending Emails, Emailing Reports, and Sending SMS (Text) messages
The new implementation for emails supersedes the prior implementation, and provides many more features, and is far easier to use. Based on the latest support implemented in the Microsoft .Net Framework.
(The original email implementation continues to ship for backward compatibility.)

Use HTTP or HTTPS to download web pages, or any other type of file. You can also post form data to web servers. Very easy way to send HTTP web requests (and receive responses) to Web Servers, REST Web Services, or standard Web Services, with the most commonly used HTTP verbs; POST, GET, PUT, and DELETE.


Amazon Simple Storage Service (Amazon S3)
Easily provide secure cloud server access in your App using the Amazon Simple Storage Service (Amazon S3).  Use it for backing up data, sharing files amongst remote clients, news feeds, etc.

JSON Support

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write, and easy for computer languages to parse and generate. JSON is an easier to use alternative to XML. JSON can be fetched or uploaded with an HttpWebRequest.

Image manipulation functions;
ImageToPNG, ImageRotateFlip, ImageSaveThumbnail

Background Threads

The WorkingThreadManager class allows you to run a PROCEDURE on a background thread without any UI, and receive events on its status. The implementation is by a template and the class design is thread-safe.

Exception log viewer

The exception log viewer will read the map files created when you built your project and use these to turn the stack trace in the exception log into a list of procedures so that you can quickly and easily find the point of failure.

Project System

Support for the – #file copy srcfile dstfile – command.  If the command is included via the PRAGMA command in a source file, the copy occurs directly after the compilation of the source file.  If the source file does not need recompiling, the copy occurs directly after the source file would have been compiled.

The project language supports the – #file copy srcfile – command.  This comand copies the srcfile to the destination directory for the current project.  The copy only occurs if the build is successful.  The copy occurs after the destination binary (the exe, dll or lib) has been built.

Application Options

Now you can choose to have the %FILE Template symbol return files in the same order that they are displayed in the dictionary editor.  This means that some lists of files inside the application generator will appear the same as the dictionary editor.  However, take note, the File sort order also affects the order of code generation, so that files will be generated in a different order to what they were previously. To turn this feature on you need to go to Tools/Application Options/Generation tab and check the “Sort %FILE the same as the Dictionary editor” check box. Note: If you use LIKE in your file structures the changed order of generated FILEs could possibly cause compiler errors.

Lock Retries
You can now set how many times generator tries to gain access to a file in the Application Options window. This option can be useful in situations where automatic backups are running and briefly locking files.

Template Registry
The Application Generator now supports product version identifiers in the naming convention for the TemplateRegistry.trf file.  For example, Clarion 10 by default uses the name TemplateRegistry10.trf.
If the Application Generator does not find a registry .trf file with the version appended name, it then looks for TemplateRegistry.trf (without the version identifier).  By default when a new .trf is created it is created using the version number as part of the file name.

Dictionary Editor

  • The Dictionary Editor now remembers dialog sizes and positions
  • The Dictionary Editor now stops you from adding GROUP fields to keys of SQL tables
  • The Dictionary Editor now stops you from adding dimensioned fields to a KEY

Now you can trace the location of a file and the folders search order used by the Redirection system from ClarionCL using the /rt switch.

MSSQL Driver
Now you can get the MSSQL driver to use SCOPE_IDENTITY to retrieve server identity values by adding /AUTOINCUSESSCOPEIDENTITY=TRUE in the driver string

SQL Drivers (all)
The SQL drivers now set FILEERROR() and FILEERRORCODE() to give more details when you try to define a KEY who’s component is a GROUP

When you select “Open Containing Folder” from the context menu of the tab for a document in the IDE it now highlights the file in the opened folder

Open File Dialogs
New option to use the Redirection System File Open Dialog as the default.

Text Editor
Find All in the text editor now runs in the background allowing you to do other things while the search is continuing.

Clarion10 – beta 10

Yesterday we released the 10th beta – and very likely the last before the gold release.  One of the changes was the addition of two exports in Win32.lib; GetProcessID and SetProcessorAffinityMask.  From emails sent into support we know that at least 1 (possibly more) 3rd party tools ship a .lib file with those same exports.  That means you’ll get duplicate symbol errors if you use one of the 3rd party tools that export those symbols.  We are getting in touch with all 3rd party devs to alert them those entries need to be removed from their .lib files.

In the meantime, if you run into the errors it is very easy to use LibMaker to remove them.  Support staff made a ~1 minute video that walks you through it.

Clarion 10 – beta 5

Clarion 10 – beta 5 is on its way out.  In addition to bug fixes this release has the new template support for the TCP/IP Sockets class.  So now you can easily create a socket server and clients, and communicate by sending messages or data to individual stations or broadcast to all connected clients. (EE only)

The examples install was also updated and includes a sample ‘Chat’ app, that uses the new sockets templates. If you previously installed the new C10 examples, please uninstall the old examples as we have revamped the folder structure and removed some older examples (for email and SMS) that referenced INCLUDE files that had been renamed (hence they will fail to compile).

The JSON class is also updated and adds new some new functionality for nested GROUPs and conversion of empty strings to the JSON keyword value ‘null’. (JSON class is EE only)

We also corrected a problem in the Amazon S3 example. (S3 support is EE only)