What does CUI mean in the export file?


As used in ClaEvaluate:

The help mentions this as follows:

Module Definition Files (.EXP Files)

The NAME Statement

The NAME statement identifies the file as an executable application (rather than a DLL) and optionally defines the name and application type.

NAME [appname] [apptype]

appname If appname is given, it becomes the name of the application as it is known by the operating system. If no appname is given, the name of the executable file, with the extension removed, becomes the name of the application.

apptype Used to control the program’s behavior under Windows. This information is kept in the executable-file header. The apptype field may have one of the following values:


The application uses the API provided by Windows and must be executed in the Windows environment.




The program uses a character based user interface, like DOS.

If the NAME statement is included in the module-definition file, then the LIBRARY statement cannot appear.

If neither a NAME statement nor a LIBRARY statement appears in a module-definition file, NAME is assumed.

The following example assigns the name wdemo to the application being defined:



Hi Brahn,

Just a heads up that the Clarion files are in ANSI format when downloaded and need to be converted to DOS CR-LF before they’ll compile correctly.
If you work out how to avoid this on GitHub could you let me know as I’m thinking of putting some Clarion stuff on there and don’t want to fall into that trap.

Also the line

fpAttachConsole LONG,NAME(‘AttachConsole’)

in ConsoleSupport.clw causes duplicate errors (not sure why it’s there as it’s not used)

Same clw file has the Windows API prototype for FormatMessage - but it’s called as SS_OS_FormatMessage in the code.

All works fine when the above tweeks are made though :slight_smile:



Ah sorry, I always forget to add the attributes. Added now!

I wonder if that changed at some point with Clarion updates.

Happy to accept pull requests! :slight_smile:


BTW, I think the reason I forget is because there is an option with Git for windows to handle this globally on the client side. So it depend, are you downloading the files as a zip or cloning the repo using git?


This is a problem when you download the Zip from github instead of cloning the repository.


Should be ok for downloads now too with the changes I made to:


Hi Brahn,

I used Clarion 11 Build 13185 to test so the duplicate error may be a recent thing.

I wrongly supposed that downloading the ZIP would be the best thing when using GitHub and don’t (at this stage) know how to manage GitHub at all so ‘Pull-Request’ is a mystery to me.
Could you recommend a primer?



Downloading a zip should work as long as those git attributes are present, which they are now :slight_smile:

But yeah, using git is the preferred way for a bunch of reasons.

There are a bunch of tutorials around each with seemingly more obtuse git jargon than the last. There are different ways to do pull requests, one of the reasons why it is the way it is with GitHub is to allow you to contribute code changes to a repo you don’t have direct access to.

  1. Fork the repo that you want to contribute to.
  2. Clone your fork from github to your dev environment.
  3. Make changes in your forked and cloned repo.
  4. Commit/Push your changes from your dev environment.
  5. Make a pull request (pull the changes from your fork to the original repo).

Now you have to decide if you want to do this from the command line or from GUI or some combination.
Github have a desktop client for windows which is pretty good - https://desktop.github.com/
SourceTree is good too - https://www.sourcetreeapp.com/

Of course it wouldn’t be git if you could do all this from the one place. The “Fork” mentioned in step one has to happen on the GitHub website. Look for the work “fork” on this page fushnisoft/ClaEvaluate. The rest you can do from the Github desktop client, I don’t think you can initiate a pull request from SourceTree (pull requests can be initiated from the Github website too).

Folks on the skype chat have often discussed how to get started with git and everyone learns in different ways so hopefully someone else can contribute some resources here too! Maybe there are ClarionLive webinars on the subject?