ORDA has its share of features with 4D v17 R5, including various ways to write generic code.
Writing generic code allows you to centralize your code to facilitate updating it. Not only does it enable you to write reusable code that can be used in different use cases, freeing you from having to reinvent the wheel again and again, it also lets you add extra functionalities on top of what you’ve already done.
View settings are used to define how a document should be displayed. Until 4D v17 R5, these settings could only be modified using the contextual menu or standard actions. Now they can also be set and get within an object using new commands, as we explained in this blog post. But you can do even more, because these settings can be saved and re-applied afterward! You’ll definitely appreciate having your settings saved!
Prior to 4D v17 R5, you may have discovered upon opening your 4D Write Pro document that the displayed font is not what it is supposed to be! If the document contains fonts which are not on your computer, 4D automatically replaced them with Times New Roman. However, since font preference is a matter of individual choice, this R-release gives you the ability to choose the replacement fonts!
Using ORDA to access large tables (especially those with relations) in Client/Server mode has been greatly enhanced. With 4D v17 R5, you’ll see 2-3xs improved LAN performance and up to 30xs faster WAN performance. And best of all – there’s no need to change anything in your code, it’s all automatic. Interesting, isn’t it? Well, let’s delve into the details.
As a 4D developer, you may have already activated the debug log to troubleshoot problems. 4D v17 R5 introduces several improvements to help you analyze these files, such as logging only the current process and logging calls to member methods (collection or object methods).
If you still need to communicate with old devices that don’t support Unicode, this blog post is for you! Keep reading because with 4D v17 R5, you can send emails in legacy encodings (ISO-2022-JP for Japanese or ISO-8859-1 for Western European).
We’re thrilled to announce that support for actions in 4D for iOS is available with 4D v17 R5! This feature allows you to enjoy more interactivity with your mobile app. For example, you can set a task as completed or finished, or flag events to be checked. All with the swipe of a finger, or by simply selecting an action from a menu.
A shout out to everyone using 4D Write Pro and letting us know your thoughts about the product. This lets us better understand your needs and difficulties. Thanks to this input, we’ve realized that some commands have become unnecessary, complex to use, and/or difficult to learn. Sometimes it could be the smallest things that make learning a challenge. For example, if you just want to insert some text in the footer, you first need to create an empty range! Why so complicated? Good question!
Thus, many commands that previously only used ranges have been extended in order to manage almost any kind of target (ranges, elements, sections, documents, etc.). Code is now easier to write and read. If you need to insert text … in a document, a footer, a range, (wherever!) … just use it as the target and you’re off and running.
And that’s not all! Six commands have been renamed with shorter names, so they’re easier to remember.
“How can I know the dataClass of an entity? I need it to write generic methods“. “I need information about a field in a dataClass: what is its type? Is it indexed? Is it unique?“. These are the kinds of questions we’ve heard you asking on the forum. 4D v17 R5 provides the answers: introducing new ORDA member methods to provide useful information about your database. Keep reading, because you’ll appreciate the benefits of reducing the size of your code and making it reusable and easy to maintain!
The Quick Report user interface has had a small enhancement, but small things can make a big impact on the overall user experience.
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy