The 4D language is constantly improving. For v20, we bring you a new feature that will ease the use of your classes: declared class properties. Declaring your class properties will significantly improve autocomplete and give you meaningful errors when compiling. Do you want to know more about it? Let me show you how it works!
Since several versions of 4D, different features have been added to create your own build chain. For example,
- the creation of a “.zip” folder,
- the addition of information such as the copyright on an executable or a “dll”,
- the creation of an “info.plist” file,
- and the new build4D component.
With 4D v20, two new features allow finalizing the creation of a standalone or client/server application in 4D code:
- the addition of an icon to an executable
- the generation of the deployment license file for a server (OEM license only) or a standalone application.
Retrieving the list of unique data elements is always helpful when manipulating data. In some cases, retrieving the number of occurrences of each value is essential. The distinct function of the Collection and Entity selection classes allows retrieving a list of unique values. With 4D v20, you can also retrieve the number of occurrences of each distinct value.
And that’s not all!
An object in the database can be used to save custom data entered by the user. So on the code side, you need to know all the possible paths to the object. The distinctPaths function has been added to the Entity selection class.
Here is everything you need to know.
However, starting from 4D v20, a more convenient and readable approach is available using object literals and collection literals. These new features provide a simpler and clearer way to initialize objects and collections.
The “Help” menu of a software is handy. Obviously, you have a menu item to open the online documentation of the software, but also how to contact the support, and several other items depending on the software.
With 4D v20, you can easily create your application’s “Help” menu by passing a collection describing the different menu items.
Error management is often a constraining part of development in all languages. In 4D, if you forget to call an error-handling method in a new process/worker or use components that don’t handle errors, the built-in 4D error dialog can appear to the final user. 4D developers would like to catch all errors in all contexts to avoid displaying this built-in 4D error dialog.
Let’s see how we can manage this behavior with 4D v19 R8.
The current trend is for light, clean, soft colors and rounded corners.
For you to embellish your applications and follow the latest trends, we have added the possibility to round the corners of static texts and input texts.
With 4D v19R6, we brought you a new way to perform HTTP requests: HTTP classes. At that time, some of the HTTP classes functionalities were not final, as we wanted to adapt them to the new syntax. It is now done! In v19R7, compressed responses, chunked responses, and redirections functionalities are now complete.
As a bonus, we also added a new way to log HTTP requests. And as it’s helpful to everyone, this new logging is available to the new HTTP classes as well as for the legacy syntax.
The File and Folder commands, which appeared in 4D v17 R5, enable you to manage folders and files on disk in a modern and efficient way.
When it comes to writing and reading, the setText and getText functions are at your disposal to read or write the entire content. But what to do if you want to read or add one or more lines to an existing document? This can be done more efficiently than ever using the new “file handles” objects in 4D v19 R7.
Keep reading for details!
In our constant effort to improve 4D syntax and functionalities, we have decided to bring you new commands to perform HTTP requests in 4D: the HTTP classes. They are available right in 4D v19 R6 and will feature many improvements over the coming versions. Let me show you how to use them right away.