Product New syntax for 4D tags

New syntax available for 4D Tags!

A powerful new syntax is available for 4D tags inside texts and Blobs to be processed.

This new syntax is supported in two cases:

  • files with “.shtml” extensions served by 4D Web Server
  • Text and Blobs sent as parameters to the PROCESS 4D TAGS command

The new syntax is available for three tags, 4DEVAL, 4DTEXT and 4DHTML, which can now be written prefixed with a $ (dollar sign) rather than as HTML comments.

Product blank

New parameter for DISTINCT VALUE

With 4D v15 R4, a new parameter is introduced for the DISTINCT VALUE command. This parameter must be an array, and it receives the count of each distinct value in a selection of records.

This feature is particularly useful for obtaining statistics on records, or to order records by their most common type.

Product blank

New “error formula” system variable

A new system variable is available to get the offending 4D code that generates an error. With 4D v15 R4 whenever an error is raised you have a means to get the offending code in addition to getting the error code, as well as the method and line where the error occurred.

Product blank

Export 4D method code regardless programming language of the 4D product used

The METHOD GET CODE command has been enhanced to export the method code and get the very same result whatever the name of the commands, tables, fields, and regardless of the programming language of the 4D product used…

To do so the tokens of the code elements (4D commands, 4D constants, tables, fields, etc.) are exported with them. These tokens are unique and can be interpreted as the elements they represent by 4D even if their names have been upgraded or if they are written in another language than that of the 4D that executes it.

Product blank

New architecture for application deployments

Today, merged applications save many information in the application package and also in the compiled file (.4DC). Besides preventing to create read-only applications, saving information in the application package has another annoying consequence: the information gets lost when you update the application.