Author: Vanessa Talbot

Vanessa Talbot
• Product Owner •Vanessa Talbot joined 4D Program team in June, 2014. As a Product Owner, she is in charge of writing the user stories then translating it to functional specifications. Her role is also to make sure that the feature implementation delivered is meeting the customer need.Since her arrival, she has worked to define key features in 4D. She has worked on most of preemptive multi-threading new features and also on a very complex subject: the new architecture for engined application. Vanessa has a degree from Telecom Saint-Etienne. She began her career at the Criminal Research Institute as a developer for the audiovisual department. She has also worked in media and medical fields as expert in technical support, production as well as documenting new features.
Product blank

Improved productivity with Object check syntax

Auto-completion for classes is available since 4D v18 R4. This feature simplifies code writing and limits errors in function names, for example. But it doesn’t avoid them entirely; it’s easy to reverse two letters or to forget a capital letter, and then have to spend time looking for why your code doesn’t work.

So what better way than to ask 4D to check if the classes or functions already exist?

Starting with 4D v19 R4, a warning is displayed in the code editor if you call a function that does not exist.

Product blank

Quickly jump to different functions of a class

Classes were introduced with 4D v18 R3. They allow you to organize your business logic and separate it from the UI part more quickly.

Classes are composed of several functions of varying lengths, so it’s not always easy to find the function you want to modify, or to move from one function to another. You can use the explorer, which displays classes and functions, but when you’re coding in the editor window, you don’t want to waste time changing windows.

With 4D v19 R4, the list of functions in your class is displayed in the code editor toolbar, allowing you to easily jump to a specific function. 

Product blank

4D for Mobile: What’s new in v19 R4

We are pleased to announce that a new version of 4D is available with new features for 4D for iOS and 4D for Android. Without further ado, let’s dive in:

WHAT’S IN IT?

For 4D for Android and 4D for iOS

  • Display object fields in your mobile application in human-readable format or in JSON format. Object fields are used to store various types of data in a 4D application, and now they are easily usable in mobile apps.
  • Improvement to generate your embedded data set.

 

For 4D for Android (already available in 4D for iOS):

  • All related data is managed in your application. 
  • Online actions are available. It’s possible to execute code on a 4D server to check data, execute calculations or add an entity.
Product blank

Developing with 4D in a dark environment on macOS

Since 4D v19, you can create applications on macOS that support dark mode, so you can match your users’ taste by giving them the possibility to choose either light or dark style applications.

With 4D v19 R3, we are giving you, as a developer, the choice when developing your application. 4D Developer Edition integrates seamlessly with the light or dark look of macOS to avoid the battle between light and dark mode that has been waging for years!

Product blank

Great news! The image settings dialog is here

Images are an essential part of documents. On an invoice for example, getting the right positioning for the company logo is important. That’s why the 4D Write Pro interface component offers a property dialog for images. You or your end users can easily define:

  • the size of the image
  • the display format
  • the margins and padding
  • the position on the page for anchored images

 

Product blank

Simplified navigation between development windows

When writing a new function or method, or when creating a form, the work is never linear. We usually need to:

  • access the explorer to find the form in its folder
  • access the explorer to write the documentation for the method
  • read the documentation of a command on the 4D documentation website
  • read the documentation of a component’s method

 

In this new version, we have added some menu items in the code editor and form editor to allow you to better navigate between the different elements of a project.

Product blank

LZMA: The new compression algorithm

Whenever we exchange files, we always go through the ritual of compressing the files before sending them. Since 4D v18, two commands are available, allowing you to create and read a ZIP archive using the standard zip compression algorithm.

With 4D V19 R3, the Zip Create Archive command supports a new compression algorithm: LZMA. The advantage of this algorithm is that it creates smaller archives than the standard zip compression algorithm. Let’s find out more!

Product blank

Stop press! Accessing parameters not being passed is … possible

A method or function can have optional parameters. Sometimes the function is called with two parameters, and other times with three parameters. We’ve all dreamed of accessing the parameters without counting the parameters, checking if the parameter has been passed, or simply not having to check if the variable associated with the parameter has been initialized. This could make the code much simpler, and much more readable, without all the “If” or “Count parameters” lines.

Well, dream no more, and switch to 4D v19 R3! Managing method and function parameters has never been easier.

Product blank

4D for Mobile: What’s new in v19 R3

We are pleased to announce that a new version of 4D is available with new features for 4D for iOS and 4D for Android.

WHAT’s in it?

For both 4D for iOS and 4D for Android:

 

For 4D for iOS only:

  • You can create action input controls of type choice list. The choice list can be a predefined list in a JSON or a dynamic list filled using a data source.
  • In your actions and input controls, you can use computed attributes to simplify your code.

 

For 4D for Android only:

  • The N to one relation is available, so you can display relative data in a list, and decide which field(s) from the related table to publish in your app
  • You can test and debug the generated application on your device.

 

Several blog posts detailing the different features are listed in this post.