NEW IN 4D V15 R4

warning: file_get_contents(http://www.telize.com/geoip/ [function.file-get-contents]: failed to open stream: HTTP request failed! in /var/www/www.4d.com/docs/includes/common.inc(1762) : eval()'d code on line 4.
R4R-releases are available exclusively to 4D Partners and those subscribed to the Maintenance program. They available freely for download but require the correct product number as provided through the Partner or Maintenance programs.


Download 4D v15 R4




4D Write Pro: Integrated user interface is here

Plus the ability to handle hundreds of properties by programming 

A major step in the evolution of 4D Write Pro. Using just two commands, you can now handle more than 150 different styles and properties for your paragraphs, text, images or even for the document itself.

We have designed a ready-to-use interface in 4D v15 R4 that you can include in your application. Just drag and drop it and it’s ready to go.


Thanks to these new commands, you can now design your own 4D Write Pro interface tailored to meet your customer’s specific needs.



Download example database
4DWritePro_HDIs.zip Download
Download demo database
4DWP_DemoInterface.zip Download


A whole new world in 4D Tags

PROCESS 4D TAGS has been improved again to drastically simplify the use of templates.




4D tags are now designed to leverage existing code assets. You can now include blocks of 4D code directly within a template using the new 4DCode tag. Even better, you can also debug it using the 4D Debugger. Nice.

The new dollar syntax increases compatibility with several document formats; for example, the writing of XML-compliant templates.

Download example database




More control over list boxes

4D gives you better control over your application user interface.


  • A new property is available to hide extra blank rows.
  • You can now control every single row to make it “Selectable/Not Selectable;” “Visible/Not Visible” or “Enabled/Disabled.”
  • There is a new option to display extra long content either with an ellipsis in the middle or by truncating the end. This provides more flexibility when displaying large content on small screens.



Store DocumentInObjectField


Store DocumentInObjectField


Download example database
LisboxHideExtraRows_HDI.zip Download
Download example database
ControlListboxRows_HDI.zip Download


Suspend and resume transactions


You can now suspend a transaction, perform certain operations that do not need to be executed under the control of this transaction (i.e., create or modify records so as to increment an invoice number counter), then resume the transaction. The two new SUSPEND TRANSACTION and RESUME TRANSACTION commands will substantially simplify the coding while retaining the same user experience.

Download example database


Fully customizable graphs

The GRAPH command has been totally reworked to simplify programming and allow complete customization of graphs. More than 30 properties (such as font size, colors, margins, gap between bars, opacity, etc.) can now be modified to give you the full control. Coding has been simplified since the GRAPH SETTINGS command is no longer needed and all settings can be done with the GRAPH command on its own using an object.






Download example database



New architecture for read-only application deployment

As part of a wider project to create double-clickable applications that are compliant with modern OS rules (stored in read-only locations), we are reorganizing the application file structure. The data file path and server connection information are now stored in a “writable” location," i.e., user preferences, if you enable the new architecture mode.



Database journaling

Simplify log integration

When the integration fails in standard mode, you can try integration in auto-repair mode. In this case, 4D tries to resolve the error encountered, doesn’t stop the integration, and returns the error list.


Download example database

Journal export using LOG FILE TO JSON

You can now extract the log file contents into a JSON file, allowing you to keep track of the activity on a particular table; see the changes made by a user; follow a record's history, and so on.


Download example database


SQL outer joins support

4D v15 R4 includes the first step for the support of outer join queries. This implementation allows running queries that combine several joins and tables in the same SELECT statement, provided they respect specific conditions as detailed in the documentation. More types of queries will be supported in the coming R-releases.




Download example database



Updates and performance improvements

New parameter for DISTINCT VALUE

It is now possible to get the number of occurrences detected in the current selection for each non-repeated value in a field. This is particularly useful for obtaining statistics on records, and with the new parameter, it’s just one line of code.


Download example database


4D Mobile session management

4D Mobile

The WEB Session command has been adapted to handle 4D Mobile sessions, allowing you to keep the cart of your customers in your online store.

The WEB Get session process count command has been created to allow you to find out the number of existing processes related to a given session; in addition, three other Web commands have been updated.

Download example database


Better performance for your application

  • The EXECUTE FORMULA execution in compiled mode has been optimized with the introduction of a new dedicated cache in memory.
  • The algorithm for global database re-indexing has been dramatically accelerated and can be up to two times faster.


Other improvements

  • The new “Error formula” system variable is available to get the offending 4D code that generates an error.
  • The METHOD GET CODE command has been enhanced to allow you to get the very same result for the names of the commands, tables, or fields, regardless of the 4D  language of the localized  product used - Download demo database.     


Download example database
ErrorFormula_HDI.zip Download
Download example database
MethodGetCode_HDI.zip Download