All posts by admin

Clarion11 going out to 3rd party devs

The huge Unicode/ RTL/Compiler/Drivers implementation is progressing nicely but compatibility issues remain (and will take time to eliminate), so a re-think was in order, we have a ton of fixes, changes, and new features, and we have made the decision to release C11 today to the 3rd party  community, so that they can take advantage of the improved Template UI (details below), and modify their templates to make use of the improved UI.

We will continue to work on the compatibility issues while delivering a version of  C11 that assures the Clarion community can transition to version 11 with an absolute minimum of effort. Later on, we’ll release an update that can be run in parallel.

The next section highlights some of the improvements to Clarion 11, for the full list refer to the README.TXT file with the current build.

The Application Generator’s Template engine has been updated to provide for wider Template Dialogs (~2x wider) – While older templates (pre-C11) will continue to work exactly as before this change, they might not look as good aesthetically. This new implementation will make working with template options a lot nicer (and easier on the eyes). Here are a few screenshots to give you an idea of how we made minor changes to the core templates (ABC and Clarion chains) to take advantage of the new UI possibilities.

There are numerous improvements in the IDE designed to help streamline your development cycle, and here are some of the notable ones:

App file date/timestamp

The Applications Pad now shows the date/timestamp so you can easily identify where you last worked, or what you need to get updated.

Accessing embeds

Requested very often, access to the Embeds is improved with new buttons on the Procedure Properties tab. You have quick access to both “Filled” and “Source” embeds. Less clicks == more productivity.

Full path for the current solution
Another developer request, to make it easier to work with multiple variations of your APPs the full path to the Solution is shown in the Title bar (previously it was just the name of the Solution).

New shortcut button added to the Solutions Pad

User-defined text for indicating a Read-Only status

Usually any file opened in RO mode (like a DCT file opened when you have an APP that uses it loaded) displays the name of the DCT with a + sign
appended to the name, this was possibly a bit too subtle, and some devs lost time/work making mods to the DCT only to find thay couldn’t be saved (unless you closed the .SLN/App). To help with that we introduce user-defined text for read-only files. Here’s a screenshot

and here’s a screenshot of how it looks in action

DCT Editor: implemented new ‘Validation Choices’ dialog to add/edit/visualize, pairs of data, instead of entering a string pair separated by a pipe char (|)

Here’s a screenshot:

Tab Order Assistant / Actions and Embeds

We know that a lot of developers love to work from the TOA (Tab Order Assistant), now we’ve added another reason – direct access to both the Template Actions
and the Embeds for the selected control

Just a mention for one more shortcut, here’s one more in the Solutions Pad

Quick access to often used tasks

SQL drivers and Unicode data

Added support for UNICODE strings on the backend to the ODBC, SQLAnywhere, PSQL, and MSSQL drivers:

‘ using PROP:NAME’ UnicodeFile{PROP:Name, 2} = ‘strFld | UNICODE’


‘ using a Driver String’ driverString = driverString & ‘/UNICODE=TRUE’

A Look into what’s coming up next

The docs are done and these are implemented but are pending release to ensure ~100% compatibility.

BSTRING – The BSTRING is equivalent to the OLE API ‘s BSTR data type.

USTRING – Fixed-length Unicode string

VARIANT – The VARIANT is equivalent to the OLE API’s VARIANT data type.

INT64 – a SIGNED 64bit integer

UINT64 – an UNSIGNED 64bit integer

New implementation for Internationalization support

PUSHASTRINGS / POPASTRINGS – new functions for working with the ASTRING type

New user-defined Date pictures

New user-defined Time pictures

CHR function supports Unicode

VAL function supports Unicode

Pictures (@P, @N, @K, new style @D and @T) can use any displayable Unicode character.

Transition to the EMF format for Reports

Discussion Server Status

Good morning,

The Discussion Server is currently down for maintenance. We expect to have it online shorlty, and will keep you posted here on this group.

We apologize for the inconvenience. You can still call our office or email us if you need Technical Support or any other assistance.


Update! The server is back online at 1:30 EST – again sorry for the delay and inconvenience.

Clarion 7.3 Released

Tonight we released to the public Clarion 7.3 and the related add-on drivers (IMDD, DFD, and IPD)

First and foremost, a heartfelt thanks goes out to all of our 3rd Party Developers and Vendors, who helped to make this release the absolute best that it can be. We simply could not have done it without you!

At first glance, the read me file contains close to 140 fixes and enhancements since the last Clarion 7.2 release.

We at SoftVelocity know that you will enjoy using this latest update of Clarion, but get ready as there is no rest here at the home office as the next line of great development products are coming very soon. Expect another announcement in the next couple of days regarding the early pre-release of Clarion 8.

Also, the updated Examples install will be updated and is scheduled to go out on Monday.

On behalf of the entire SV staff, have a great weekend!

Happy Holidays from SoftVelocity

From all of us at SoftVelocity, we would like to take this opportunity to wish you and your families a very Merry Christmas and a Happy and Prosperous New Year.

Here is our Holiday hours of operation for the next few days:

12/24 – Closed at Noon (EST)
12/25 – 12/27 – Closed
12/28-12/30 – Open for business, normal hours.
12/31 – Closed

Of course, our support newsgroups are always open 24/7, and you can always purchase our products online anytime at

A more detailed blog on Clarion versions 7.3, 8 (Beta), and Clarion.NET will follow here very soon.

All the best! We appreciate your business and support, and thank you!

Thanksgiving Holiday

This week we have been working hard on the final testing and closedown of Clarion 7.3, and much more.  With Thanksgiving tomorrow, it’s time to take a little break to reflect on the many things that we have to be thankful for, most important customers like you!

Our office will be closed from 11/25 thru 11/28 for the Thanksgiving Holiday, and will reopen on Monday, November 29th.

From all of us at SoftVelocity, have a safe and restful holiday weekend, and the very best wishes from our families to yours!

Thoughts of Denver CLDC 2010

Almost a week has passed since I first landed in Denver for the start of the 2010 Clarion Live Developer’s Conference. As I am still traveling this week across the heartland visiting friends and relatives. I wanted to share with you my thoughts that have stayed with me in these past few days.

First, it was great to see and catch up with a lot of the Clarion developers from years past, some of them who I haven’t seen since the last developer’s conference in Orlando 2004 and Gatlinburg in 2005. With nearly 100 people in attendance, it was hard to meet and talk to everyone, but I think that I got close to doing that.

I was honored to be a presenter and help to kick off the conference in the first two days as a representative of SoftVelocity. My colleague Pierre Tremblay gave the last technical presentation of the conference and helped to end it on a very high note as attendees got a first look at the Application Generator for Clarion.NET.

But in between our presentations were session after session of great technical presentations by well respected Clarion users like Bruce Johnson, Mike Hanson, Rick Martin, Shawn Mason and many more. The presentations were “linear”, which meant that nothing was missed and often went on very late into the night.

I was unable to catch a lot of the presentations, but all are recorded and available for download on ClarionLive. The reason that I missed them was due to the time that I spent in the Solutions room, getting feedback from many attendees and just stopping by to say Hi and talk about all things SoftVelocity. What we could show them with the soon to be released Clarion 8 and Clarion.NET was encouraging and energizing to all.

So I left the conference energized and refreshed as well. The attendees seemed to “get it” and know that there are great things in store for SoftVelocity and Clarion users coming very soon.

I will be flying home in less than 24 hours now, and I can’t wait to get started.

Robert Zaunere will be blogging soon regarding Clarion 8, Clarion 7.3 and more. Again, thank you to everyone that could be at the conference. It was great to see you again and we hope to see you again in 2011.

Project Options and fixing Errors in Embedded Source

This article reviews the essentials of the project system of Clarion 7, how it interacts with the application generator’s embed points, and the options that you have available to control or change the default behavior of the IDE.

Understanding these options will make you more efficient and productive in the Clarion 7 IDE.

We’ll start with an overview of the project system, discuss the origins of generated source code, and finish with the options available that control how you can edit errors in embeds when needed.


Controlling Source Generation

Regarding the action of building a program created with a Clarion application file, Clarion 7 is the most flexible IDE in the product’s history.

You can just generate source, generate source and make (build), and generate source, make (build), and then run the compiled program from the IDE.

Make (or Build) refers to the process of compiling and linking source to your output project target (EXE, DLL or LIB)

You can perform these actions from the Applications Pad, or from the IDE toolbar:


The highlighted IDE toolbar buttons shown in the above image are only enabled when an Application is opened for editing.

By comparison, the Applications Pad can affects all applications contained in the current Solution. How you process the Generate, Generate and Build, and Generate Build and Run button is controlled from the button drop list options:

Setting the Applications Pad to Generate Edited will perform the same actions as the buttons on the IDE toolbar.

And here is another important tip:

All buttons on the IDE toolbar and Applications Pad that display a “lightning bolt” will always affect the source generation of applications.

The following buttons (Build and Rebuild):


…do NOT cause the source code generation;  these buttons only run a “Build” against the source modules that already exists on disk.

The same fact; “Build does not cause the Application Generator to generate code” applies to all Build options selected from the Solution Explorer:



When bad things happen to good developers – Coding Errors

Let’s face it, stuff happens. The “stuff” that I’m referring to is errors in the source code that are generated from two basic sources of any application.

Code that is generated by the templates
We can break this down a little further. Since templates are read when loading an application, it is possible that something in your dictionary could cause bad code to be generated. Primarily this is from two areas of the dictionary; Triggers and Initial Values. A good tip here is to “mark” your code in the dictionary with a comment, like “DCT generated” or something like that.

You can also cause errors in the generated code by entering incorrect values in template prompts in the Application. Examples of this can be a bad Record Filter expression, incorrect or undefined variable names, etc. In most cases, when a template prompt is looking for data, you will be prompted by one of several selection dialogs (Select a File, Select a Key, Select a Column, etc.)

Code that is generated from embeds
Embeds allow developers to modify or extend the functionality of the base templates by adding additional source code. Clarion provides two views of embeds.

The Embed Editor is located in every procedure’s Embed tab. There is a hierarchical tree of entry points, and by default these embed points open a stand-alone editor that only applies to that selected embed point.



Embeditor (Source Context Editor)
The second view of embeds is the context view. In other words, how does your embed code fit in the context of the template generated code and other embed points? This is also called the Source Embeditor.

You can access the Source Embeditor in several ways:

Right-click on any procedure in the Application tree, and select Source from the popup menu, or press the Source Embeditor toolbar button as shown below:


From the Embeds tab:


…and if you’ve never seen it before, here is the Source Embeditor:



Putting it all Together
With what was just discussed above, let’s now put it all together.

When you press one of the options that generates source from the Application Generator…


…and the compiler detects errors, what source editor will be launched from the Errors Pad?

The options to control what source editor will open is controlled by settings in the Application Options.

To open the Application Options dialog, the application editor must be closed. Find this dialog and open it from the IDE Tools Menu (Tools > Application Options).

There are three settings in the Applications Options that control your editor options.

In the Application tab (the first tab you see when the Application Options is opened), find the following option:


When working in the application editor, this option should always be OFF if you want items from the Errors Pad to open up in your favorite embed editor.

With this option turned ON, ALL errors will always open the generated CLW source file, and if you edit errors and then later regenerate source from the Application Generator, your changes will be lost. Only use this option if you are simply testing or prototyping a coding scenario.

The next two options are found in the Application Options Embed Editor tab:

The Edit errors in context (using Embeditor) option will open the Source Embeditor by default from the Errors Pad when this option is checked. When unchecked, clicking on errors in the Errors Pad will open the Embed Editor by default.

Here is a VERY important point:

The Source Embeditor (or embed editor) will open ONLY if the error in the Errors Pad is caused by an EMBED error.

If the error is caused by bad dictionary information (like triggers or initial values), bad template entries, OR an embed that CAUSES bad GENERATED code (like a misplaced END statement), the error pad will ALWAYS open the CLW instead. So in nearly all cases except for the last one, when clicking on an error results in opening the CLW, you can be certain that the error is caused by an incorrect template setting or an error introduced in the Dictionary.

The last option, Edit source embeds in context by default (Using Embeditor), does not affect how errors are processed, but instead controls what editor to use when opening an embed in the Embed Tree found in the Embeds tab.

When it comes to handling coding errors in an efficient and productive manner, you need to know your project generation options in the Clarion 7 IDE, and know that errors can occur from two different application sources (templates or embeds), and ONLY errors from embed points will open the embed editor of your choice. The embed editor that you open (Embed Editor or Source Embeditor) is controlled by settings found in the Application Options window.

We recommend that you set the Edit embedded source errors in generated code option to OFF (unchecked) and the Edit errors in context (using Embeditor) to ON (checked). These are the default settings of a newly installed Clarion 7 IDE.

Happy programming!

Happy New Year!

On behalf of our entire staff, we wish all of you a very Happy, Healthy, and Prosperous New Year (and new Decade).

Our offices will close today at 2 P.M. and
we will be back on Monday, January 4th.

Thank you for your continuing support in 2009, and look for some great things to come in 2010.

Happy Holidays from SoftVelocity!

On behalf of the entire staff here at SoftVelocity, we would like to wish all of you a happy and festive Holiday season. Our offices will be closed at 1 P.M. EST on Christmas Eve (December 24th) as well as Christmas Day (December 25th), and we will be back bright and early on December 28th. Thank You!