With 4D v16 R4, we introduced Object Notation which is a great enhancement to the 4D language: your code is fast, flexible, efficient and elegant! This feature created a lot of interest on the 4D forums and we received a lot of feedback from our customers highlighting situations when there were undefined values making the code challenging to write.
With 4D v16 R5, we have taken your feedback into account and have simplified the use of undefined properties and values with Object Notation.
Wouldn’t it be great if you could just open a form and pass it some parameters to initialize your form objects? What about being able to also get the data back to process, after it’s been modified by the user? 4D v16 R5 makes your coding so much easier by greatly simplifying communications with forms.
Until now, when you wanted to display data (not coming from the database itself, but computed or external) to multiple users, you had two options: either write complex code to handle data display in multiple processes, or create as many forms as necessary with a bunch of global variables. But you know that global variables are not an optimized way of coding, from a memory point of view.
So get rid of your complex code and global variables! With 4D v16 R5 you can just bind an object to your form and use it internally with the new Form command. Painless…and powerful!
4D v16 R4 is providing you with more flexibility regarding tips management. Beyond the possibility to enable or disable all tips at once using database parameters, you can now finely control how your tips will be displayed: the delay before showing it and for how long it is shown. And you no longer need to use 4D Pack, everything is included in 4D now!
You need to get the list of processes running on your 4D server, 4D remote or 4D standalone to create your own Administration Window? You want to know which user initiated each process to create a monitoring window of your application or log this information in a database to analyze later your server load? It is now easy to retrieve this information by programming with a new command: Get process activity.
4D introduces a new Null type to ease the management of objects and collections. Thanks to the null value, you can represent a missing value and easily verify if your object or collection is correctly set.
You need a custom 4D Write Pro toolbar for your application but you’re concerned it might take too much time to implement it? Good news, with 4D v16 R4 standard actions can now be assigned to checkboxes and pop-up menus. Save time with this ready-to-use feature and easily create a user-friendly interface perfectly matching your needs!
You can now create a pop-up menu to control the font size or the border style for your 4D Write Pro area just in one click, no code needed! Just assign the action using the property list and it’s done. And the object status and value will be automatically updated by 4D depending on the context and text selection! Simple and powerful…
You are looking forward to start coding with Object Notation? For sure, Object Notation will make your life easier as a developer. But before activating it in your existing application, you should make sure that your code is ready.
The new Object Notation syntax introduces some restraints as 4D language now considers the three following characters as reserved symbols: “ . ”, “ [ ” and “ ] ” (i.e. dot, opening and closing brackets).
As a consequence, once you have activated the Object Notation in your database, it is no longer allowed to use these symbols in variable names, method names, table names, or field names. And of course it is the same for your existing code!
So it is important to check that your application does not contain these symbols before activating this feature. But don’t worry the MSC can do it for you!
Discover New object, the new command of 4D to initialize an object. This command allows you to either create an empty object or create it with some initial properties and values. OB SET is now becoming unnecessary in several situations, New object is enough.
New object also allows to re-initialize an temporary object in a loop or simply directly pass an object as a parameter to a 4D command requesting an object as parameter, as Get database measures or GRAPH commands for instance.
This new command changes your way to write 4D code in many situations. New object creates an object and returns a reference to it. It allows more flexibility in your code. This command is the first of a series of new features related to objects … Stay tuned !
“Time is money“, said Benjamin Franklin, so the more accurately we can count it, the better. We now have a new command for getting a precise UTC time stamp including milliseconds.
Find in design dialog has been upgraded to offer a more user-friendly design as well as 2 new features that will improve the user experience : a new stop button allowing to stop the ongoing search and a new option to filter your search results.