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


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.

Use Multiple Databases

4D v12 can be used to create, modify and use "external databases" via the SQL language.

An external database is an auxiliary 4D database linked with the main 4D database.


Multiple external databases can be used with the same 4D database, and a 4D client can access external databases on the same server.  This can all be accomplished without having to close or restart the application, in a matter totally transparent to the user.


64-bit Support

4D Server v12 supports 64-bit Windows operating systems.

The main benefit of 64-bit technology is improvement in overall performance by being able to address more RAM (up to the physical limit imposed by hardware limitations – but theoretically unlimited), handle larger data files (several gigabytes) and numerous simultaneous clients and/or processes.

On the client side, any machine running 4D v12 (Mac OS or Windows) can connect to 4D Server v12 64-bit.


Session Management Controls

Intelligently manage sessions, time-out, login, logout, etc.

JavaScript Event Callbacks

4D Ajax Framework can take advantage of JavaScript callbacks for more powerful programming.

Live Data

View live data, directly from your database, in your Web application.

Live Scrolling

Data loads as you scroll through it, eliminating long load times.

Tabbed Interfaces

Quickly generate tabbed interfaces with a native look-and-feel.