C_VARIANT to store different type of values
Sometimes you want to write code being able to work with different variable types, this is especially true for generic coding. Using pointers can make code more difficult to read and debug. Sometimes it’s not possible at all, for example when you want to assign a generic variable to a form object as the data source.
A new command is now at your disposal to let you to declare a variable that can store different types of values. Say hello to the new C_VARIANT command!
Multiple 4D data sources, interested?
We’ve got an exciting new feature to announce in 4D v18 and the title may have already given you a hint!
This feature opens new possibilities for client/server work. Rather than being limited to the current database and requiring a permanent network connection, an application in 4D v18 can get data from another, remote 4D database that’s exposed on a 4D server!
A lot of options become available thanks to this feature. For example, you could organize your applications to work offline and only synchronize local data when remote data is reachable. Or you could consider publishing your data on multiple servers and switching from one to the other as necessary. Another option could be splitting your data model across different databases (e.g. local data, international data). What about having your data distributed in different places yet still accessible through a single 4D client code (project methods and form objects)? All of these scenarios are now possible and this blog post tells you how!
An enhanced UX with AJUI_Progressbar
Have you ever executed an action, nothing seemed to happen, and you didn’t know if you should click again or continue waiting? There’s no feedback provided, even if the application is performing an action in the background? Perhaps the action requires some time to return a result? As you may know, 4D already provides a built-in progress bar component that makes execution time more tolerable, but if you want something with a more web like design then keep reading, because that’s what the AJUI_Progressbar gives you!
Build a web-based monitoring dialog, step by step
Want to recreate the 4D Server Administration Window with a web interface? Want to conveniently check what’s happening in the 4D Server without needing to go to the server room, to use a remote desktop, or to consume a 4D Client license? It’s now possible to view all of 4D Server’s main parameters(e.g., memory usage, drive space, users, processes, and even the real-time monitor) via the web.
In this blog post, we’ll walk you through a set of commands that 4D delivered over various R-releases to build your own web-based server administration dialog. Additionally, the regional technical manager of 4D Hispano (Angelo Caroprese) has provided a complete component to be used right in your applications.
An ORDA Cheat Sheet
Blog post by guest author Cannon Smith, a 4D developer from southern Alberta, Canada:
The introduction of collections and entities has dramatically changed the landscape in 4D, giving developers new ways to map business rules to code. Just recently I refactored several thousand lines of code that were central to the business rules of our application, resulting in a significant speed improvement (5xs faster) which our users are very happy about. This refactoring was largely about moving from old code constructs to objects, collections, and ORDA.
Power of objects and dot notation
With 4D v17 R5, we showed you how easy it is to manipulate an object to retrieve the attributes of a file or folder. Things have gotten even easier thanks to object notation! In this blog post, we’re providing you an HDI with a user interface to manage files and folders. This isn’t new in 4D since you could do it with classic 4D commands, but now you can do it easier and with fewer lines of code!
CSS color strings for better readability
Improved and simplified 4D commands just keep coming. Now you can set colors in your form objects using CSS strings instead of numeric values. Previously CSS colors for objects were declared with a 4-byte longint (e.g., 0x00RRGGBB). But if you feel more comfortable writing BLUE instead of its numeric equivalent 255 (0xFF), we’ve got good news … 4D v17 R6 makes it possible!
A new tool at your fingertips to analyze debug logs
With 4D v17 R5, we’ve improved the debug logs by adding methods and allowing each process to be traced independently. With this R-release, we’ve gone a step further by shipping a debug logs analyzer tool to help you monitor process execution. You’ll be able to see which processes are the most consuming, the call chain with the corresponding running time, and much more.
Retrieve the current execution call chain
When programming an application, you may need to know where you are in your code, especially when one method calls other methods, which may then call other methods. That’s why it’s very helpful to see the chain of methods, or the call chain, during the debugging process. For this, 4D v17 R6 provides the new Get call chain command to give you an insight into the executed code. Now you won’t have to worry about getting lost anymore!
Write generic code with the latest ORDA features
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.
Contact us
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