To prevent session loss, 4D monitors the sleeping state of remote 4D applications.
When a user is connected from a remote 4D application to a 4D Server and their computer goes into sleep mode, the information is sent to 4D Server. At the moment the user’s computer wakes up, the remote 4D application then recovers its execution context.
Your project is now on a source control system. This means that managing several versions of your software, monitoring changes, and integrating corrections or new features is much simpler now.
Why not also take advantage of continuous integration?
Starting with 4D v19, you can launch the compilation of your project with a command. As a result, you now have all the building blocks needed to automate your integration chain.
This blog post will give you an example of automation with the GitHub manager and GitHub Actions.
by Mourad Aouinat, Software Engineer at 4D Morocco
In a previous blog post, we saw how easy setting up a REST API using 4D. In this blog post, we will leverage the powerful 4D REST API in combination with React to build a To-Do app that includes features to open todos, create new ones, modify existing ones, and features for bulk modification and bulk deletion.
Since 4D v19, you can start the compilation of a project with a simple command. You might be wondering what you can use this for!
Your team may consist of several developers, so why not automate the compilation at each code push on your source control server? It is always easier to identify an error when it is quickly detected.
Another case is when your project consists of several components. You can write a method that compiles, builds, and then copies the component to the host database.
This blog will discuss the different technical points that are very useful to create your own automation tools, along with an example application.
As of 4D v19, you have the possibility to create applications that support the Dark and Light mode on macOS. To do this, you have to modify and check many small details: icons, widgets, texts, background colors, etc.
As a result, you need change the appearance of your mac dozens of times per hour. OK, you might be thinking, “What? All it takes is three clicks. Open the preferences panel, click the general icon, then the light or dark control, that’s it!“. But honestly, if you are a developer or a tester, repeating these actions over and over again becomes very tedious.
Dark mode has been gaining a lot of ground recently. That’s why we’ve added support for it in 4D v19, and mentioned a few ways you can adjust it to your needs in the related announcement.
In this blog post, we’ll focus on CSS and explain in detail how to set CSS styles for light and dark modes using CSS media queries.
In a previous blog post, we announced the launch of 4D for Android. But how to build, visualize and play with your Android app on your favorite virtual device? This blog post covers all these questions with answers and concrete examples.
When you use 4D View Pro (especially in offscreen mode) with complex documents, calculating all formulas could take a while and it can be difficult to know when it’s finally finished (and it’s important to wait before you call commands such as export or print).
As a solution, we’ve introduced two new events. One of which is called for every single calculation/formula, which could be used to trigger a timer. If the time expires without another formula being finished, we can assume that the whole document is finished.
“I want to find all of the documents that talk about tango! I need them quickly! Can I do that?”
Ok, but first breathe!
Keyword searches within 4D Write Pro documents simply require adding a new indexing attribute within each document. This isn’t done by default because this type of search is not often necessary so it wouldn’t make sense to systematically increase the size of the documents. However, when it’s needed, this type of index is very easy to build.
4D 18 R5 introduced form macros. They can be incredibly useful, for example, by providing an ideal way to save time on repetitive tasks. In this blog post, we’ll show you some basic examples to learn more about how macros work and the possibilities they offer. All of the following examples are available on GitHub.