All posts by admin

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!

32 bit ODBC in the 64-bit Operating System

Note: This blog was written by Robert Ricketts, who is a Senior Support Representative at SoftVelocity. If you have any questions, you can post them here or even email us at support AT softvelocity DOT com

Now, on to the article! 🙂

There has been quite a bit of confusion about using the 32 ODBC Administrator and 32 Bit ODBC drivers in 64 bit Operating Systems so I thought I would put together some information to help when using 32 bit ODBC drivers, such as the TopSpeed ODBC driver.

For 64 bit Operating Systems, there is a 64 bit and a 32 bit ODBC Source
Administrator.  Both actually have the same name (odbcad32.exe).

You can launch the Admin applet from the command line (or a Shortcut) so you get the 32-bit version of the ODBC configuration tool. The command line is as follows:


Microsoft stores the 32 bit odbcad32.exe in the syswow64 directory and the 64 bit odbcad32.exe in the system32 directory.

N.B. If you just run odbcad32.exe, Windows will actually run the 64-bit version because the default system path has system32 ahead of syswow64.


System DSNs are stored in the following registry subkey:

Registry redirection is enabled for this registry subkey. Therefore, system
DSNs for 32-bit drivers and for 64-bit drivers are separated. The 64-bit ODBC Administrator tool does not display the system DSNs that are created by the 32-bit ODBC Administrator tool or that use 32-bit drivers and visa versa.

User DSNs are stored in the following registry subkey:

Registry redirection is not enabled for this registry subkey. Therefore, both
ODBC Administrator tools display all user DSNs.

Regarding the DotNet Framework

In order to use the TPS ODBC driver from .NET you will need to use the .NET Framework Provider for ODBC.

If you see no reference to the .Net Framework Provider for ODBC, this is
available as a free download from:

Search for “ODBC .Net Data Provider” to download and install the .Net Framework Provider for ODBC.

What’s new in Clarion 7.1?

As we are working hard to closing the next and greatest release of Clarion, I wanted to share with you my presentation at the 2009 Aussie DevCon and present to you a quick summary of features to look forward to in the days to come.


New Windows 7 manifest support, built into the application’s template support.

Expanded support and customization for the Command Line Interface Utility (ClarionCL). You can now build and run applications and convert dictionaries from outside the IDE.

The “Most Recent” list is now preserved even if the IDE crashes and if you have multiple copies of the IDE open, the Most Recent list will show the most recent from all copies of the IDE

You can specify dictionary (DCT) files are automatically imported and exported to text format. The Tools/Options/General/Binary File auto-export/import dialog allows you to configure this.

New Subversion support:
Subversion options can be accessed via the context (popup) menu for solution items

Subversion options can be accessed via the context menu for Clarion for Windows projects

Subversion features of the IDE will use the text representation of a dictionary rather than the actual dictionary (DCT) if the dictionary is registered to auto import/export.

Application Generator

Window and Report tab controls have been replaced by Buttons. Additional ellipsis buttons added to call the Window or Report Editor to view source.

If you press either the Window or Report buttons on the main application tree, you now return to the application tree when you have finished using the formatter.

New Save and Exit button added to Application Tree. This distinguishes the Save and Closing of the Application Generator from other dialogs.

New Application Option to control the size of the recovery file before an AutoSave occurs.

New and improved Window Preview option built into the Structure Designer, with advanced data configuration options!

You can now set the tab style that the Window Previewer will use via the Tools > Options > Clarion > Window Previewer panel.

New and improved Expression Editor interface!

You can now open multiple solutions that access the same dictionary in multiple instances of the IDE.

Class Browser

New option in Class Browser Settings that allows to show/hide entities from included files. Class Browser Settings is a dropdown button on the Class Browser toolbar, and the new option is located at the bottom of the dropdown menu. Objects from included files are hidden by default.

Database Browser

New toolbar button and right-click support to specify picture token, heading and justification.

Data/Tables Pad

Ability added to copy field definitions from source code and paste them into either the Data / Tables Pad or the Dictionary Editor. When copying and pasting the details of a field that has an initial value from the Dictionary Editor or the Data / Tables Pad, the definition now includes the default value where possible.

Data/Tables Pad now has Expand All/Contract All buttons.

When a group or queue has focus in the dictionary editor or data pad, you can now add a field to the start of the group/queue, to the end of the group/queue or after the group/queue using either the context menu, the INSERT key, or the drop down list on the add button on the toolbar.

Dictionary Editor

TopSpeed Driver String Builder dialog now includes support for the TopSpeed Enhanced Encryption Support driver strings.

Support for alternate field and blob names for SQL drivers for specific SELECT, UPDATE, and INSERT clauses.

The driver string builder for ODBC based drivers now allows you to set the ZERODATE switch to any date value.

Dictionary Synchronizer

Improved support for handling Microsoft SQL Server 2008 data types.

You can now set the ODBC Catalog and Schema when importing/synchronizing tables from an ODBC data source.

Language Changes

New PROP:TextLeftMargin and PROP:TextRightMargin properties for ENTRY, SPIN, COMBO, TEXT, RTF controls and for drop-down list-boxes

PROP:LastChanceHook SYSTEM property.

SETEXITCODE and GETEXITCODE built-in functions to set/query program’s exit code (error level) without the necessity to immediately close the program.

New MSGMODE:FIXEDFONT flag in the last parameter of the MESSAGE function to show message text using the fixed-pitch font

Two new built-in functions FREEZE/UNFREEZE with the purpose of reducing flicker in some situations.

New conditional operator support added to the OMIT and COMPILE directives.

New PROPLIST equate (LISTZONE:GroupHeader) used to determine if the mouse is clicked or moved inside the list box header, but outside of the field part of the header. This change has been used to provide better highlighting of themed list box headers.


Template Language

New support for pre and post build events using the #PROJECT statement

New PASCAL attribute for the #RUNDLL statement. The WIN32 attribute is now deprecated and ignored.
More to come this week!