RAD Studio 12.0 Athens improved the UI and the behavior of installing platforms and other items by simplifying installation choices. Use the Feature Manager Dialog, formerly Platform Manager, to select your installations.
All installation features and options are on a single screen, with the languages (Delphi or C++) and target platforms (Windows, iOS, etc.) options as the central part of the screen. The additional items are shown in a list on the right sidebar.
Download Zip https://ssurll.com/2yLR4h
Finally, the bottom bar of the installer shows some helpful information, including the difference in disk space as n GB is more or less used, and a new Errors button becomes available at any place that shows errors. Use the button to preview the log and open the location of the installation log file in Explorer.
RAD Studio 12.0 Athens has the ability to simultaneously load multiple GetIt packages from a single folder on your hard drive. Open the GetIt Package Manager Dialog box, use the new Load Multiple Packages button to open a file dialog, and select multiple JSON files with GetIt local package configurations.
The Find in Files dialog now has a new Subdirectory exclude mask option, which excludes specific folders from being searched when using the Search in directories and Include subdirectories functionalities. There are default exclusions for both Delphi and C++, and the dialog has been widened to fit the new content.
GDI bitmap counts are now lower through the IDE. Images can now be Dormant if not used for over a minute. All IDE image lists, including those for toolbars and menus, component images for the Palette, etc., will make their images dormant when not used.
Finally, version 12.0 added menu items in the Search main menu to Go to Definition and Go to Implementation (Delphi) or Go to Definition and Go to Implementation (C++) features, which corresponds to the Ctrl+Shift+Up/Down arrow keys within the editor (note that you can press either arrow; both shortcuts work the same and just toggle the location.) This ensures that key interaction is more evident than invisible shortcuts.
RAD Studio 12.0 Athens includes language keywords in the completion list. Keywords are auto-selected ahead of identifiers. This means that even when code completion automatically invokes whatever you type, it completes correctly as long as it is valid.
RAD Studio 12.0 Athens introduces the integration of Visual Assist, a world-leading C++ productivity tool previously only available for Visual Studio. Visual Assist is a large product, and this release includes the most core and useful features for productivity in the areas of code completion, plus a subset of search/finding, navigation, and refactoring.
The Navigation toolbar at the top of the editor has several enhancements with the goal of making the feature more intuitive in use and clearer to understand its results. The following are some enhancements:
Previous versions had extended timeouts before showing a potential issue. RAD Studio version 12.0 reduced these timeouts significantly to an initial timeout of 6 seconds. Clicking the Wait button extends the wait time by 3 seconds longer (i.e., 9 seconds, 12 seconds) to a maximum of 15 seconds.
RAD Studio 12.0 adds Skia support for all the platforms FireMonkey supports. Skia library offers full support for all platforms supported by RAD Studio Athens, both in C++Builder and Delphi, including even the recent additions iOS Simulator ARM and macOS ARM 64-bit.
Skia4Delphi is a cross-platform 2D graphics API for Delphi and C++Builder based on Google's Skia Graphics Library. It provides a comprehensive 2D API to render images across mobile, server, and desktop models. It is compatible with all RAD Studio frameworks (Console, FMX, and VCL) and platforms.
It provides common 2D APIs by abstracting complexities in implementing low-level libraries used behind, such as OpenGL, Vulkan, DirectX, or Metal, implementing optimizations and new features. See the Skia documentation for all the main features and how to enable Skia integration.
With Skia support, replacing the default Canvas from FMX with Skia-based Canvas is possible. Once Skia is enabled, all FMX controls will be painted using Skia-based implementation automatically. Improving the performance and the quality of the drawings for the FMX (mainly on mobile) and the whole library.
The Skia with RAD Studio offers Vulkan backend support for Android and, optionally, for Windows. Skia Canvas with RAD Studio automatically utilizes Vulkan on Android if supported, resulting in enhanced graphical performance and energy efficiency compared to OpenGLES. To enable Vulkan on Windows when supported, set the boolean FMX.Types.GlobalUseVulkan to True and the boolean FMX.Skia.GlobalUseSkiaRasterWhenAvailable to False in the initialization section.
When using the Skia app rendering with GPU acceleration instead of rasterization, Firemonkey leverages the powerful SKSL to render effects and filters. This approach provides superior performance compared to the current method and enhances Skia Canvas's efficiency.
One of the main advantages of using SKSL for creating effects and filters is simplified maintenance. A single shader codebase works consistently across all platforms, eliminating the need for multiple codes specific to each backend API and ensuring uniform results.
The Skia version integrated with RAD Studio supports the encoding of animated WebP. With Firemonkey's new animated codec foundation, it is possible to register new encoders capable of encoding and/or decoding.
WebP is one of the most widely used formats on the web due to its superior compression compared to JPEG, resulting in smaller file sizes while maintaining higher quality. It also offers animation capabilities similar to GIFs but with lossless frames, meaning there is no loss of quality and/or some compression. Additionally, it supports transparency, making it a highly versatile format. See the Skia Animated Codec documentation for examples and more information.
When Skia is enabled, Firemonkey's native Printer for Windows will use Skia as its backend for the physical printer and ensure support for all other platforms through PDF document printing, with the optional XPS printing also available when the target is Windows. On iOS and Android, the printer will generate a printable file, which will be automatically shared upon completion. For examples and more information, see the Skia FireMonkey Printer documentation.
RAD Studio Athens offers Skia4Delphi support for C++ Builder, including the project's main demo written in C++ to assist users in its implementation. To access the demo during RAD Studio installation, install the Samples or visit Embarcadero's GitHub repository to download it.
RAD Studio 12.0 Athens introduces significant changes to how the Delphi compiler handles string literals, which have been tied to the classic Pascal string (short string) design since the early versions of Delphi.
String literals can now be longer than 255 characters; in other words, string literals are not limited to the classic Pascal ShortString type. Notice that the length of a literal string might still be constrained by the editor's limitations (at 4K characters per line). There is no change in syntax; you can simply have a literal string without quotes longer than 255 chars.
IEEE requires that all comparison operations involving NaN return false. The rule states: "IEEE 754 assigns values to all relational expressions involving NaN. In the syntax of C, the predicate x != y is True but all others, x < y, x = y and x > y, are False whenever x or y or both are NaN..."
Code in generic classes was not showing the same warnings as non-generic code in several scenarios. The compiler now analyzes methods in a generic type or generic methods to produce hints and warnings as same as regular methods to show the following messages:
RAD Studio Athen 12.0 added to all LLVM-based Delphi compilers the "LLVM predefined symbol. Making it easier to have code depending on the compiler's backend. Use the EXTERNALLINKER symbol in recent versions to perform the same check, but it was less obvious and readable.
The Delphi compiler has a new feature to help users understand the structure of a project and avoid unneeded circular unit references, which can slow down compilation and cause negative side effects on the compiler itself when combined with other language features. The ability to generate a uses statement graph directly at the compiler level (without a separate parsing tool) can be useful in many other scenarios, in general, to understand the structure of an application.
For example, consider a simple application with a main form, a secondary dialog box, and a data module. They refer to each other via some uses statements in the interface or implementation section. Building it with with following command line (excluding system units):
RAD Studio Athens removed the iOS 64-bit and Android 32-bit platforms because it cannot support the platforms if it does not support the deployment of apps to their Stores. Please use 11.3 to build for iOS or Android with C++.
RAD Studio 12.0 delivers a preview version of an upgraded Clang Win64 compiler. The preview compiler and its toolchain come included with the installer. Both the current (Clang 5) and the preview (Clang 15) Win64 toolchains are available in 12.0. Learn more about the characteristics and see an example on our Clang Win64 page.
A new TEncoding.UseBOM property, available in all subclasses, can be used to change the behavior in earlier versions. This value can be passed as a parameter to a new overloaded constructor. In the code, it is used when reading and writing to a stream.
There are also new TEncoding.IsBufferValid overloaded methods (with different input values). The goal is to check if a given buffer contains valid data for a given encoding. This is particularly relevant when determining if a BOM-less text file is UTF-8 or ASCII. The key feature is implementing this method for the TUTF8Encoding class.
7fc3f7cf58