Skip to content

The plotting engine builds on Delphi 10.2 Tokyo through 13

Choose a tag to compare

@pisarev pisarev released this 15 Aug 21:59
· 4 commits to main since this release

The plotting engine builds on older Delphi now: 10.2 Tokyo through 13. Nothing
about how it draws has changed - this release is about which compilers will
accept the sources.

One argument changed type in the RTL

GdiplusStartup hands back a token. In 10.2 and 10.3 the RTL declares that
argument ULONG; from 10.4 it is ULONG_PTR. It is taken by reference, so the
types have to agree exactly - a near miss is not a warning but E2033.

The variable is now declared by a numeric test on the compiler version. The
engine's own storage for the token stays pointer-sized, so nothing else about
the code moved.

Why a number rather than the name of a generation

A conditional symbol with a dot in it does not ask what it appears to ask.
Delphi cuts the name at the dot, so DELPHI_10.4 is really a question about
DELPHI_10 - a symbol that has existed since 10 Seattle and therefore answers
yes on 10.2 as well. Measured on a 10.2 installation: all three of
DELPHI_10.2, DELPHI_10.3 and DELPHI_10.4 answer yes.

CompilerVersion is a number, and a number cannot be misread that way.

The table below is measured, not assumed

Each Delphi version in it is a real installation, and before a release every one
of them compiles all eight units of the engine one at a time. A version that is
not in the table is not claimed.

Compatibility

Delphi 10.2 Tokyo through 13, win32 and win64
Free Pascal 3.2.2 and 3.3.1, win32 and win64 and linux64