Product

4D initiates a new variable type: Collection

4D v16 R4 introduces a new type of variable called Collection. What are these variables intended for? Like Objects or BLOBs, collections can be used to hold almost any kind of variable types like texts, numerics, booleans, objects and even other collections. The good thing is that, all these variables types previously mentioned can be mixed inside the same collection, where arrays must always contain the same type of elements!

Product

Easily design your own 4D Write Pro toolbar with standard actions

You need a custom 4D Write Pro toolbar for your application but you’re concerned it might take too much time to implement it? Good news, with 4D v16 R4 standard actions can now be assigned to checkboxes and pop-up menus. Save time with this ready-to-use feature and easily create a user-friendly interface perfectly matching your needs!

You can now create a pop-up menu to control the font size or the border style for your 4D Write Pro area just in one click, no code needed! Just assign the action using the property list and it’s done. And the object status and value will be automatically updated by 4D depending on the context and text selection! Simple and powerful…

Product

Another way of coding: Object notation

Objects are great, everyone says so. Beside their wonderful flexibility, they are unbelievably fast. You can search through millions of records in just a fraction of a second. 4D v16 even allows to order by object attributes, and to do calculations such as Sum or Average.

With 4D v16 R4, the 4D language has been drastically enhanced to make the usage of objects much more comfortable – with the support of the object notation. Fast, flexible, efficient and now elegant!

News

4D v16 R4 Beta starts today!

I am pleased to announce that the beta testing of 4D v16 R4 starts today! 4D v16 R4 is one of the feature-richest R-release ever delivered! There is so much to tell, I don’t know what to start with…

4D v16 R4 beta introduces 4 major product features, among others:

 

  • A major 4D language enhancement with the object notation, making the developer’s life easier!
  • Real tables in 4D Write Pro, answering the most-asked feature request for the old 4D Write.
  • The Single Document Interface (SDI) mode making your Windows 64-bit application entering a new world where application windows are all independent!
  • The first step of the 4D View Pro spreadsheet as a Preview, lifting the veil on a powerful spreadsheet solution for your 64-bit applications.
Product

Security and Data Protection

Security is an important and fundamental topic for a database or business solution system. This article proposes an overview of how 4D protects your data. In fact, security is about data protection. And data protection is a huge area. Data needs to be protected for unwanted access, but also for loss.

Events

Keisuke Miyako presents 4D Tags at 4D Summit 2016

Keisuke Miyako, Technical Service Manager from 4D Japan, presents at 4D Summit Paris 2016 how the 4D transformation tag feature has been highly empowered with 4D v16. If you are not using 4D tags yet – be sure you’ll be thrilled to start using it asap after watching that video!

Besides the introduction of the enhancements done in 4D v16 making 4D tags now so powerful, Keisuke presents here 2 concrete examples of 4D tags use cases: export data to an Excel spreadsheet and create nice charts using a JavaScript library from data served in a JSON format.

News

Source code sharing of internal 4D components with 4D Partners

4D has initiated a new program to share the source code of internal 4D key components such as the 64-bit Quick Report, the date/time pickers, or even the 4D Write Pro user interface.

Sounds already interesting, but what exactly does it concretely mean for you? You always wanted to use the Time picker widget, but with a different look and feel. The 4D Write Pro user interface is great, but can’t fit exactly in your application, that is requiring a more ‘Microsoft Office like’ ribbon bar approach.

Product

Export results of “Find in design” dialog

When you search for all objects in the Design Environment, 4D displays the results in the hierarchical list. From 4D v16 R3, you can export these results in a text file that can be opened using a spreadsheet for example, so that you can easily dispatch some refactoring work or store the results in a document to work on it later.

Product

New object: an easy way to initialize an object

Discover New object, the new command of 4D to initialize an object. This command allows you to either create an empty object or create it with some initial properties and values. OB SET is now becoming unnecessary in several situations, New object is enough.

New object also allows to re-initialize an temporary object in a loop or simply directly pass an object as a parameter to a 4D command requesting an object as parameter, as Get database measures or GRAPH commands for instance.

This new command changes your way to write 4D code in many situations. New object creates an object and returns a reference to it. It allows more flexibility in your code. This command is the first of a series of new features related to objects … Stay tuned !

Product 4D Write Pro Standard action

Create your own interface for 4D Write Pro

You want to quickly create a menu bar to manage your 4D Write Pro areas? You want to create your own contextual menu for your end-users ? You would like to create a color mosaic to change the document background? So this feature is made for you – and better, you do not even need to write a single line of code…

We added standard actions to handle 4D Write Pro areas. They can be defined at design phase or by programming. More than 80+ actions are available and to name just some of them: Font style (bold, italic, underline), Font color, Background color, Text alignment (left, center, right, justify…), Borders (style, color, width, radius…), Spellchecker actions…

Something important to notice, when assigned to interface objects, standard actions automatically handle the activation/disabling of the object depending on the context. Easy!