Product

SVG “non-scaling-stroke” attribute support

Automatically translated from English

Sometimes it’s preferable to have the lines of an object keep their original width, regardless of the applied transformation. For example, you draw a line on a map showing a user’s position and a destination. When the user zooms in on the map, you want to enlarge the map but have the line maintain its width.

Product

Code Editor: Say hello to Comment blocks

Automatically translated from English

Adding a block of comments at the beginning of a method is useful for adding a note about what a method does, as well as a list of input/output parameters. And having a few lines of human-readable text within a complicated section of code can be convenient to help you and others recall the purpose of this particular section of code. Beginning with 4D v18, your programming experience is enhanced with the addition of comment blocks!

Product

4D Write Pro documents: a useful new parameter

Automatically translated from English

4D Write Pro has been designed to create all kinds of documents, from the most simple to the most sophisticated. To achieve this diversity, documents can hold distinct parts, like paragraphs, sections, headers, footers, etc. Once filled in, 4D Write Pro behaves in such a way that all of these parts can be read. However, sometimes some parts must be resized according to their content. This is typically the case for headers and footers whose height can change automatically. This functionality is generally very useful, but sometimes it’d be more practical to set the heights of headers and footers to constant values (even if their content may be truncated and no longer be fully visible).

Tips

Project database: Deploying your application

Automatically translated from English

So your application has been developed and you’re ready for the next step. 4D lets you:

  • generate a compiled database that no longer contains any interpreted code,
  • generate a standalone application that can be double-clicked, (i.e., merged with 4D Volume Desktop, 4D’s database engine),
  • generate client/server applications with automatic updates of client and server parts.

 

With a project database, you can also build your final applications for both platforms. A project database uses the same configuration file as a binary database.

Product

On resize… On resize… On resize…

Automatically translated from English

Wondering how to create a nice and dynamic user interface? Typically when a form is resized, the form objects whose horizontal sizing or vertical sizing properties are set to move or grow, are automatically resized. In some cases  (e.g., finer user interface management), developers choose to manage form object size and position by programming. To do so, they check the “on resized” event which is triggered within the form method. But what happens when the form contains one or more subforms? On many levels? This blog post gives you the answers!

Product

Using 4D libraries within project databases

Automatically translated from English

4D provides libraries to help you develop applications. One of these libraries is standard and contains preconfigured form objects and widgets, while other libraries are custom. The standard library is “read-only” and its behavior doesn’t change when developing project databases (with the exception of minor, cosmetic interface differences). You also have the ability to create your own custom libraries to save your own form objects or group of objects. In this case, a few changes have been made to make them even more powerful. The following is everything you need to know about these changes:

Product

Coexistence of thread-safe and non-thread-safe commands

Automatically translated from English

Have you ever needed to use methods with both thread-safe and not thread-safe calls, with conditions that skip over commands that are not thread-safe? Currently the compiler prevents doing this and an error is thrown, however there’s a flag that lets you disable this check and this blog post shows you how.