Components can now publish classes! And even better, if your application is still in binary mode, you can now benefit from classes and object-oriented development by using a component (in project mode) to create your own classes and use them from your (binary mode based) application.
4D v19 R5 comes with a new version of SpreadJS, v15, and a Ribbon update that is compatible with it. Let’s discover the new features offered by this new version that will help accelerate your 4D View Pro development.
When you create a document with 4D View Pro, you often need to fine-tune your user experience by hiding the sheet tabs and the scrollbars, or by deactivating the context menu or the drag and drop option… All these features and more are now possible thanks to the VP SET WORKBOOK OPTIONS command from the v19 R4.
4D v19 R4 comes with a new version of SpreadJS, the v14.2, and a Ribbon update that is compatible with it. Let’s discover the new features offered by this new version.
Sometimes you have to run processes in the background, and as soon as one finishes, perform some actions according to its exit code. From the v19 R4, 4D allows you to start a process in the background with the new 4D.SystemWorker class and execute callback methods automatically when the process returns information. This way, your application UI stays responsive during the execution of the external process, and when finished, you can display the result to the user right away!
Do you dream of using short-circuit evaluation, ternary operators, breaking free from a loop, or exiting from a method with a simple keyword?
Well, dream no more! We listened and kept an eye on your feature requests from the 4D Forum, so here comes a set of 4D language improvements that will help you simplify your code.
Creating reports or spreadsheets from existing templates speeds up development. Starting with 4D v19 R4, copy and paste actions can now be performed using code that copies a range of cells from another location (including other areas).
When you create a new field in your database, 4D allows you to choose to map NULL value to blank values or not. Starting from 4D v19 R4, in new projects, 4D will no longer by default map the NULL value to an empty value.
Scalable web sessions were a significant improvement brought by 4D v18 R6. They allow you to use 4D tags, 4D actions, and REST API in preemptive processes, even in interpreted mode, on a 4D server. However, to debug such programs, you needed to open your development environment on the server to make it switch to cooperative mode, as the debugger window cannot be opened with preemptive processes. This way, until v19 R2, you could debug REST, 4D actions, or 4D tags. From v19 R3, all of this has become much easier, and you can debug on the server-side simply by attaching the debugger to it, as usual.
In the 4D v18 R6, 4D introduced OAuth 2.0 authentication to access emails through IMAP, SMTP, or POP3 transporters. Starting with 4D v19 R3, 4D continues to implement OAuth 2.0 protocol and provides a way to request easily by programming a token from the Microsoft identity platform to connect to the API for Microsoft 365.