4D v16.3Changes in behavior |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Changes in behavior
|
Option (constant) | OS | Status in 4D v16 | Comments |
2 (Orientation option) | Windows and OS X | Updated | Can be called within a print job, which means that you can switch to portrait or landscape orientation in the same print job. |
8 (Color option) | Windows only | Removed | Deprecated |
13 (Mac spool file format option) | OS X only | Removed | Replaced by new option of the SET CURRENT PRINTER command. |
Note: The OPEN PRINTING JOB, CLOSE PRINTING JOB, SET PRINT OPTION and SET PRINT OPTION commands are compatibles wiht the 4D Write Pro WP PRINT command: for more information, see WP PRINT. All options are supported for 4D Write Pro documents, except for the Paper option and Orientation option options, for which we recommend using the WP USE PAGE SETUP command instead in order to set the page size and orientation separately.
Row Control Array
A new Row Control Array property gives you the ability to control new interface properties:
Headers and footers
The minimum height for headers, in pixels, depends on the system. If you pass a value that is too small, it is replaced by the minimum size defined in the system for headers. There is no minimum size for rows and footers.
Under Windows 7, the minimum header height is 24 pixels. Any headers in your converted databases whose height is less than this are automatically resized to 24 pixels.
You can also set the height of headers and footers dynamically using the LISTBOX SET HEADERS HEIGHT amd LISTBOX SET FOOTERS HEIGHT commands.
Since the rendering may not entirely match your expectations, this is a something you must remember to check on your forms.
Converted list boxes
List boxes resulting from the conversion of former grouped scrollable areas are connected. Connected list boxes function in a coordinated manner: selecting a row in one list box leads to the same row being selected in any other list boxes belonging to the same connected group; scrolling a list box vertically triggers the same scrolling in all the list boxes belonging to the same connected group.
Note: Converted list boxes are also grouped in the form (standard 4D function).
List boxes can be connected and disconnected using the Connect and Disconnect commands found in the Object menu of the Form editor:
These commands are enabled when several list boxes are selected in a form. When a connected list box (i.e. a list box belonging to a connected group) is selected, a specific "badge" is displayed on all the list boxes that belong to this same connected group:
These principles allow you to reproduce the same operation of the former grouped scrollable areas; however, we recommend that you adapt your converted forms to use standard list box features.
The advanced options of the Form wizard have been updated based on the 4D product and hardware evolutions:
Thanks to a new internal algorithm, the execution of the [#cmd id="233"/] command has been significantly accelerated in 4D v15 R3 when you replace a string by another of a different length. This is the case for example in the following replacements:
vResult:=Replace string(Source_Text;"a";"aa") //based on characters
vResult2:=Replace string(Source_Text2;"à";"aa";*) //based on character codes
The new algorithm is optimized for both syntaxes: the larger the source text and the more replacements there are, the more significant the optimization will be.
Our benchmarks show the following results, compared with the previous algorithm:
Replacements based on character code (* passed) | Replacements based on character (* omitted) |
About 950 times faster | About 4400 times faster |
These tests were done by replacing "a" with "aa" in a file containing 32,000 occurrences to replace.
Note: Replacement of strings of the same length is just as fast as with the previous algorithm.
Additional information is provided when duplicates are detected in unique fields:
In previous 4D releases, the DOM Get XML element and DOM Count XML elements commands were case insensitive regarding the elementName parameter, that is not xml compliant. Starting with 4D v16.2, these commands are case sensitive by default. If you want to maintain their previous operation, call the [#cmd id="1090"/] command with the XML DOM case sensitivity selector to XML case insensitive.
4D always uses the period character (.) as decimal separator when evaluating a numerical expression using the 4DTEXT, 4DVAR, 4DHTML, 4DHTMLVAR and 4DEVAL tags. Regional settings are now ignored in this context.
For example, whatever the regional settings are:
value:=10/4
input:="<!--#4DTEXT value-->"
PROCESS 4D TAGS(input;output)
// always outputs 2.5 even if regional settings use the ',' as separator
So if your code evaluates numerical expressions using 4D tags with respect to the regional settings, you need to adapt it using the String command:
For more information, refer to 4D HTML Tags.
Disabling of the HTTP TRACE method, error 405. If you need to enable this method, you can use the Web HTTP TRACE option with the WEB SET OPTION command.
The names of log files generated during maintenance operations through the MSC or the 4D Server administration window are now unique and therefore differ each time they are saved to disk. In previous versions, these files always used the same name so the previous log file (if any) was overwritten by the new one each time a new maintenance operation was performed, meaning that prior log files were automatically purged. It is now up to the database administrator to remove older log files as necessary, both for 4D and 4D Server.
Modifications between versions v15.x/v15Rx and v16: concerning management of encoding and charsets, in particular for attachment filenames when sending emails. In databases where workarounds were implemented, you need to verify that these modifications do not cause any malfunctions.
Two commands were updated: SMTP_Charset and SMTP_SetPrefs.
Value | Body charset and encoding | Headers and attachment filenames charset (encoding always base64) |
-1 | No change | No change |
0 | Application & binary; no encoding | ISO-8859-1 |
1 | Default: UTF-8 & base64 | Default: UTF-8 for subject, ISO-8859-1 for other fields |
2 | US-ASCII & 7bit | ISO-8859-1 |
3 | US-ASCII & quotable-printable | ISO-8859-1 |
4 | US-ASCII & base 64 | ISO-8859-1 |
5 | ISO-8859-1 & quotable-printable | ISO-8859-1 |
6 | ISO-8859-1 & base64 | ISO-8859-1 |
7 | ISO-8859-1 & 8bit | ISO-8859-1 |
8 | ISO-8859-1 & binary | ISO-8859-1 |
9 | Reserved | Reserved |
10 | ISO-2022-JP (Japanese) & 7bit | ISO-2022-JP |
11 | ISO-2022-KR (Korean) & 7 bits | ISO-2022-KR |
12 | ISO-2022-CN (Traditional & Simplified Chinese) & 7 bit | ISO-2022-CN |
13 | HZ-GB-2312 (Simplified Chinese) & 7 bit | HZ-GB-2312 |
14 | Shift-JIS (Japanese) & base64 | Shift-JIS |
15 | UTF-8 & quoted-printable | UTF-8 |
16 | UTF-8 & base64 | UTF-8 |
Product: 4D
Theme: Changes in behavior
Modified: 4D v16.2
Conversion to 4D v16 ( 4D v16.2)
Conversion to 4D v16 ( 4D v16.3)
Inherited from : Changes in behavior ( 4D v16)