These are highlights of new features in 10.0,(Build 11834) for the complete list of fixes, changes and enhancements please refer to the readme text files issued with each new interim release..
Compiler:
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 Code templates 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)
QuickAppConnectClass and methods
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.
Web Requests (PUT, GET, POST, DELETE) via HTTP/HTTPS
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, news feeds, etc.
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
The WorkingThreadManager class allows you to run a PROCEDURE on a background thread without any UI, and receive events on its status. The class design is thread-safe.
Template
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:
You can now 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
ClarionCL:
You can now trace the location of a file and the folders search order used by the redirection system from ClarionCL using the /rt switch.
MSSQL Driver:
You can now 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
IDE:
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.