Do you need to store all business emails, for example, for legal or fiscal purposes? These documents must be stored as they are. That is, how they were received … in their original, unconverted formats. 4D v18 R3 answers this need by providing you with a new method allowing you to get emails in their original MIME format.
We’re thrilled to announce that 4D v18 R3 includes an enhancement that will have a huge impact on the developer’s experience. A feature many of you have requested, and 4D delivers!
When you work in 4D standalone mode during the development phase (writing and testing your code), you’re no longer required to restart your database in order to have an up-to-date datastore (ds) when the structure is updated!
Now you don’t need to restart the database each time you need a new attribute or a new table in your code! It’s all automatic!
When you call the ds command, you get an up-to-date datastore object. This means that several versions of this datastore object are handled at the same time … depending on when you updated your structure … without breaking running processes.
If you work in client / server mode, this works fine for code running on the 4D Server.
For remote clients, you simply need to restart the client requiring the structure’s update.
When developing an application, it can be very useful to have quick access to the details of a method (e.g., an explanation of what it does, its syntax, and a definition of the parameters passed to it). This becomes even more important when using a compiled component. You can’t look at the content of the method, so you can only rely on its documentation to understand how to use it.
The Explorer’s dialog has been enhanced and documentation is now available in 4D v18 R3 for project databases.
Have you ever needed to use multiple web servers in order to, for example, split your web application code into several business units, or separate the administrator’s web server from the user’s or run an old part, not preemptive-ready yet, in a separate instance, allowing the main part to run preemptive?
If you’re nodding your head yes, then keep reading because 4D v18 R3 allows you to do so … with ease.
In a previous R-release, we added two new automatic themes to define font and the font size, so there are three automatic themes at your disposal which respect the guidelines of each platform. To design your interface, the automatic theme is the recommended way to go with each form object using the font and size recommended by the OS.
In some cases, you may need more control and have valid reasons to ignore the guidelines. With 4D v18 R3, you can override the size of the automatic themes and have more control over how your text is displayed.
How many times have you gotten the “Not supported value type in a shared object” error when trying to put an object into a shared object?
What did you do? Write longer code to turn your innocent object into a shared one, perhaps iterating over all of its properties?
How about transferring a shared object from one shared group to another?
An interesting thing about objects: you already know they can be used as a hash map (a key/value system), but what about gettings all the keys or all the values with a single line of code?
Keep reading, because 4D v18 R3 is out and brings good news!
XPath is a language allowing you to easily work with your XML documents. It’s already usable via the DOM Find XML element command and with 4D v18 R3, the support of the XPath syntax has been drastically enhanced. If you’re among those who requested features such as using a wildcard in a path, then keep reading!
In a previous blog post, we introduced a very important concept in object-oriented programming: Classes. Now we’ll go through another core concept: Inheritance, the mechanism that allows a class to acquire the behavior of another class.
When it comes to ORDA, 4D v18 R3 is full of good news! New member methods are at your disposal to further enhance your coding experience.
For starters, extracting data from an entity selection has been greatly enriched allowing you to build a fully customized collection with your entity selection data.
In addition, we’re providing you a way to indicate to an entity selection that its data needs to be refreshed from the server immediately, invalidating cached data.
Interested in some details? Keep reading, everything you need to know is below.