warning: file_get_contents( [function.file-get-contents]: failed to open stream: HTTP request failed! in /var/www/ : eval()'d code on line 4.

Integrated Database

A powerful relational database is fully integrated into 4D.

4D provides a true enterprise-class database, with the capacity to process massive databases while keeping the same responsiveness and performance you've come to expect in 4D. We've shattered all previous database size limits to give both new and existing databases much more breathing room.

It is up to the challenge of even the most demanding projects.

PHP Integration

4D v12 lets you directly execute PHP 5.3 scripts within 4D applications, thanks to our FastCGI compiled interpreter.

(You may use other interpreters, providing they are compatible. See documentation for details.)


You get access to a wealth of utility libraries available via PHP, providing functions such as:

  •  ciphering (MD5) and hashing
  •  handling of HTML files
  •  image handling
  •  LDAP access
  •  COM access (for Microsoft Office documents)



4D has always given users excellent control of printing of data from output forms and reports.

4D v12 brings even greater control and variety of print output. List boxes can be printed. The new PRINT OBJECT command lets you print any object at any precise position on the page. And new to Windows, 4D can now print directly to PDF using the PDFCreator driver. 


Print PDF



The 4D SVG component is installed with 4D v12, so that all your solutions can take advantage of its advanced graphic capabilities.

The component provides commands to meet your most frequent graphical needs, giving you access to parameters that will let you create your own SVG graphics, or modify existing SVG files from other sources.


It includes an SVG Viewer that will let you view your SVG files both as an image and as the XML source code. A separate Syntax Palette lists all of the component's commands - logically grouped by theme - which can be dragged and dropped into your 4D methods, along with all of their parameters.


Form Widgets

An entire library of predefined compound objects is included for use in your interfaces.

These include search bars, time pickers, date pickers, barber poles and more.



4D v12 improves upon application localization capabilities.

XLIFF files, used to store localization information since 4D v11 SQL, can now be called upon to change an entire user interface on the fly. A single 4D command can instantly change the interface language.

Dynamic Variables

As of 4D v12, you can now leave it to 4D to create variables associated with your form objects.

If you leave a variable blank, 4D will create the variable and calculate a unique name for it. These dynamic variables can be accessed via pointers, allow the development of subform components, and can economize memory usage as they are only used during the instances when the containing form is opened.


Developers can take advantage of better interaction between forms and subforms, with support for pointers and events to update subform contents.

With 4D v12, a main form can interact with objects in the subform and vice-versa.


Furthermore, components can be published as subforms to be used in host databases – Form Widgets are an example of these components.

Getters and Setters

Programming in 4D has always been logical and easy, and has become even more so in 4D v12.

For harmony and standardization throughout the language, every object now has a symmetric GET and SET function to read and write property commands.


Furthermore, the OBJECT DUPLICATE command can create copies of objects, including all associated properties and object methods.


Note that some of the commands have been renamed since 4D v11 SQL. However, they will be automatically converted when opening your solution under 4D v12.


See an example of Getters & Setters in action in our Example Applications section.

SQL Dump and Insert

4D v12 introduces new SQL-related commands for exporting and importing data.

The SQL EXPORT DATABASE command exports all the records and tables of a database in SQL format.


The SQL EXPORT SELECTION command exports the records of the current selection of a 4D table in SQL format.


Previously, 4D export formats were binary. SQL dump is in highly readable text format.


And although text data is not standard/normalized between various platforms, 4D can accept data from multiple SQL engines using the SQL EXECUTE SCRIPT command, which supports multiple inserts, joins and more.