Skip to content

D29.ATHENS.12.2.0.0

Darian Miller edited this page Dec 30, 2024 · 18 revisions

Delphi 12.2

Update 2 for Embarcadero RAD Studio 12 Athens was released 2024-09-12.

Related: Delphi Master Release List, D29.ATHENS.12.0.0.0, D29.ATHENS.12.1.0.0

This is a major update to 12.0 and is binary compatible with the 12.0 Athens release. Addressed 350 customer reported issues and implemented 28 customer feature requests.

image

New RTL Features

  • TParallelArray
  • TOrderedDictionary

Native integration with Generative AI Tools

  • Smart CodeInsight adds ready-to-use support for OpenAI, Gemini, Claude, and Ollama

image

Optional, dockable AI Chat Pane:

image

New Editor Menu commands you can issue on the selected code:

image

Other New IDE Features

  • Focus Mode
  • Scroll bar annotations

New Preferred Tool Architecture option

  • New option for compilers found in bin64 for Win32 and Win64 platform support. (dcc32.exe, dcc64.exe, DelphiLSP.exe)
  • Using 64-bit tools allows a larger memory space available to the compiler.
  • This is only available as an option for external builds using MSBuild. (With future IDE integration likely with the upcoming 64-bit IDE.) image
  • This option is only available for Enterprise/Architect Editions
  • Note: you can still target the Win64 Platform in the Professional Edition, this is about which version of the dcc32.exe compiler to use.
  • Also see Ian Barker's Comment

Thanks Thomas, you’re 100% correct. I will make sure we are clearer on explaining that both the 32bit and 64bit compilers are 64-bit exes for Enterprise SKUs and above – but the 32-bit compiler still generates 32-bit code. For Professional SKUs the 32-bit compiler is a 32-bit exe (same as it was before). The benefit of a 64-bit exe for the 32-bit compiler is really only apparent for large projects which are more likely to be Enterprise customers. I’m happy for you to email me with details of your project if you think that is an incorrect point of view – [email protected]

WebStencils

  • Description from DocWiki (view wiki for more info)

RAD Studio version 12.2 introduces WebStencils, a server-side script-based integration, and processing of HTML files to the WebBroker and RAD Server technologies. This flexible feature empowers you to develop modern websites based on any JavaScript library, powered by the data extracted and processed by a RAD Studio server-side application. It gives you the freedom to create websites that suit your unique needs.

WebStencils' main goal is to help with navigational websites by adopting web technologies (WebBroker, DataSnap, RAD Server) and providing server-side scripting. For instance, you can use WebStencils to generate HTML pages with standard tools and adopt any CSS and JavaScript libraries while retaining the ability to add data from the generated pages coming from the application, like the result of a database query.

In addition, WebStencils can be a good foundation for HTMX as a web development solution. HTMX pages benefit from server-side code generation and hook into REST servers for content updates. Delphi web technologies offer page generation and REST APIs at a very high quality level.

Items to be aware of

Unfortunately, the author of FMXLinux recently passed away very unexpectedly. Due to the suddenness of his passing, we have not been able to finalize the necessary legal paperwork to offer FMXLinux for the new release, so we’ve had to remove it from the 12.2 version of GetIt. It is still available for 12.1 and earlier releases. We hope to be able to offer FMXLinux again as soon as possible.

  • Manually uninstall Parnassus Bookamarks and Navigator first.

  • Using RAD Studio through RDP may have issues

  • PAClientCore290 conflicts with IPWorks design time components.

    • Reported by Lance Rasmussen Delphi Developer Facebook Group thread
    • Error: Cannot load package 'dclipworksipc22'. It contains unit 'iiptypes', which is also contained in package 'paclientcore290'
    • Confirmed by David Millington: "Yes — we’re working on a fix. Temporarily you can disable the paclientcore package (unless you use PAServer 😕)"
  • Binary ABI compatibilty for 12.2 plugins - unable to run in Delphi 12, 12.1

    • See RSS-1948 The procedure entry point @Idetheme@Utils@TIDEDialogRegistryServices@$bcctr$qqrv was not found in the DLL 'xxx\xxxx.dll'
  • Bin64 version of DCC32 produces broken code when optimisation is on. RSS-2048

Known Installation Issues

As stated in the DocWiki

Migrating settings to RAD 12.1 package error

When migrating RAD Studio 12.0 settings to a RAD Studio 12.1 installation, users will see an error that the package win64xdebugide290.bpl is missing ("Can't load package C:\Programs\Embarcadero\Studio\23.0\Bin\win64xdebugide290.bpl”). This package is no longer used and shipped by RAD Studio 12.1, and the error only appears due to settings migration. Select the option No so the IDE does not attempt to load the package again.

JDK Install Sequence when using ISO installer

The Android SDK settings may not be configured correctly when installing RAD Studio 12 using the offline installation (the GOF image). This is because the Android SDK installation requires the Java JDK, which is installed later.

The workaround is to defer the installation of the Android SDK, which can be done later by opening the Manage Features dialog box. This issue only applies to the offline installation. The installation order is correct when using the online getit server.

iOS 17.4 Simulator

FireMonkey apps may crash when executed on the iOS Simulator with a target of iOS 17.4. This is due to an OpenGL incompatibility. The workaround is to enable the Metal rendering engine or target a previous iOS version in the iOS Simulator.

IDE Views - Focus

On High DPI screens, editor-docked windows and split views may show the title bar with the wrong background color.

Installation performed with Offline Installer results in missing subdirectories Delphi When using the offline installer, the Browsing path for Delphi/64bit Linux lacks various directories.

To fix this, go to Tools > Options > Delphi > Library , select 64-bit Linux, and paste the following string into the Browsing path field:

$(BDS)\source\rtl\common;$(BDS)\source\rtl\sys;$(BDS)\source\rtl\linux;$(BDS)\source\ToolsAPI;$(BDS)\source\IBX;$(BDS)\source\Internet;$(BDS)\source\Property Editors;$(BDS)\source\soap;$(BDS)\source\xml;$(BDS)\source\Indy10\Core;$(BDS)\source\Indy10\system;$(BDS)\source\Indy10\Protocols;$(BDS)\source\fmx;$(BDS)\source\databinding\components;$(BDS)\source\databinding\engine;$(BDS)\source\databinding\graph;$(BDS)\source\data;$(BDS)\source\data\ado;$(BDS)\source\data\cloud;$(BDS)\source\data\datasnap;$(BDS)\source\data\dbx;$(BDS)\source\data\dsnap;$(BDS)\source\data\Test;$(BDS)\source\data\vclctrls;$(BDS)\source\rtl\posix;$(BDS)\source\rtl\posix\linux;$(BDS)\source\data\datasnap\connectors;$(BDS)\source\data\datasnap\proxygen;$(BDS)\source\DataExplorer;$(BDS)\source\Experts;$(BDS)\source\indy\abstraction;$(BDS)\source\indy\implementation;$(BDS)\source\indyimpl;$(BDS)\source\Property Editors\Indy10;$(BDS)\source\soap\wsdlimporter;$(BDS)\source\Visualizers;;$(BDS)\source\data\rest;$(BDS)\source\data\firedac;$(BDS)\source\tethering;$(BDS)\source\DUnitX;$(BDS)\source\data\ems;$(BDS)\source\rtl\net

C++ Builder

When using the offline installer, the System include path for C++ / 32-bit Windows is missing the FMX subfolder.

To fix this, Click Tools > Options > C++ > Paths and Directories > 32-bit Windows , select the Compiler tab, and paste the following string into the System include path field:

$(BDSINCLUDE);$(BDSINCLUDE)\dinkumware64;$(BDSINCLUDE)\windows\crtl;$(BDSINCLUDE)\windows\sdk;$(BDSINCLUDE)\windows\rtl;$(BDSINCLUDE)\windows\vcl;$(BDSINCLUDE)\windows\fmx;$(BDSCOMMONDIR)\hpp\$(Platform)

Links

image

Clone this wiki locally