On Thursday 9 November we held the launch webinar for Delphi, C++Builder and RAD Studio 12. We had an unprecedented number of attendees, to the point of doing a rerun on Nov 30th. This QA represents questions raised in both. If you were unable to attend take a look at our replay here.
We got hundreds of questions in the Q&A log. It is amazing seeing the interest and feedback and we reply in text as fast as we can during these webinars, but my favourite part of these webinars is the conversation afterwards, where we review what you wrote in and reply live.
Here are some of the most common questions we were asked…
Table of Contents
VCL and FMX
‘EnableImmersiveDarkMode’: does that make the VCL use the Windows dark style?
It does for the title bar and border. This makes VCL apps use dark non-client area colours, without having to use VCL styles.
Does FMX include styles for Windows 10 Dark and Windows 11?
There are some new FMX styles in GetIt: Windows11 Impressive Light and Windows11 Impressive Dark. There are also versions available for VCL with similar names.
Are there any guidelines for migrating our MDI app to the new MDI framework in version 12?
There’s no need, because we expect it’s just a matter of recompiling, it should work! You can add the new TFormsTabBar control if you want to.
We are trying to implement scaling changes when moving one monitor to another, is ScaleForPPI a good approach?
The VCL should handle scaling when moving between monitors for you: just drag a form and it will adjust control sizes and positions. You can use ScaleValue to adjust things like manual sizes (for example, if you calculate a control’s position as x + 4, make that x + ScaleValue(4)). And don’t forget the DPI-agnostic virtual image collection and new image list controls.
Does Skia support C++? How about the VCL?
Yes to both! The original Skia4Delphi project was Delphi only, but our integration in version 12 is both C++ and Delphi. And while of course it supports FMX, and is the new rendering foundation for FireMonkey, it is also available for VCL (in Delphi and C++ of course!) with a set of powerful new components.
Does Skia add RTL (right to left) support in FMX?
Some of the new Skia controls (like the TSkLabel control) support RTL, and we plan to expand FireMonkey RTL support further in future versions leveraging Skia.
Is Skia4Delphi in Delphi 12 based on version 5 or on version 6? In version 6 there are many changes, renamed units etc…
In RAD Studio 12 we are shipping version 6: to be more precise, 6.0.0. Some of the renaming was due to RAD Studio integration and agreed with the Skia4Delphi team.
Are there Skia demos?
Yes! Our RAD Studio 12 repo on GitHub has Skia demos for Delphi and C++, in VCL and FMX
- CPPMulti-Device SamplesSkia4Delphi
- Object PascalMulti-Device SamplesSkia4Delphi
- Object PascalVCLSkia4Delphi
When do you expect to ship the new C++ toolchain that’s in Preview?
We don’t promise things ahead of the actual release, but “soon”. We felt 12.0 was a good release to show a technical preview ahead of the actual release.
If the new C++ toolchain is a Preview, will we see updates?
Possibly! Work is ongoing at a fast pace and we don’t want the public Preview to get too out of date with what we have internally. We’re currently considering one or more updates in GetIt to update the Preview before 12.1.
Is Visual Assist included in the price, or do we need to pay extra?
It’s included! Visual Assist for C++Builder is part of C++Builder. Buy C++Builder, and Visual Assist comes with it.
Visual Assist for Visual Studio is its own product and needs to be purchased separately.
Does Visual Assist create any folders under my project directory?
No it does not! VA leaves your project folder completely untouched. It stores caches in the AppData folder, with locations in the documentation.
Does Visual Assist work with the classic compiler?
Yes! The new code completion is enabled only when using Clang (i.e. when using classic, it uses classic completion) but other features like refactorings or navigations work regardless of which compiler you’re using.
Is the classic compiler still available for C++?
Yes it is.
Is TwineCompile available for C++Builder 12?
Yes it is! We love TwineCompile. You can find it in GetIt.
Visual Assist and Go To Related would be useful in Delphi!
They sure would 🙂
(This was probably the single most-asked question. It’s great to see the excitement for Visual Assist among both the C++Builder and Delphi communities.)
Is the JSON class generator also available for C++Builder?
No, it is a Delphi-only feature currently.
Does the circular uses checking also check external units and components?
Yes: it checks everything the compiler sees. To change this, you can exclude a family of units with the –graphviz-exclude directive.
What about the LLDB debugger for the Windows platform?
Yes! We’re using LLDB for C++ Win64 for both the current and the Preview toolchains, and we hope to add Delphi soon. Note that the C++ Preview even generates PDB debug info!
Will there be a SQLite encryption feature?
We cannot control SQLite, which is a third party library. We offer support for SQLite EE and you can keep using FireDAC encryption for old versions of SQlLite. The better option is to use InterBase. Encryption is included with InterBase, and InterBase ToGo is included for Mobile with Enterprise. So, zero cost and a more feature complete database. You also can get InterBase ToGo on all platforms with an affordable subscription offering.
Is CData still available?
CData has stopped the development of the FireDAC specific connectors and ended the agreement. Feel free to reach us directly over email for suggestions.
Is Linux a target platform for Delphi and C++?
It’s a target platform only for Delphi.
Does C++Builder 12 support iOS and Android development?
When purchasing a perpetual license plus Support & Maintenance for C++Builder 12, you can redeem licenses to earlier versions. We recommend using C++Builder 11.3 for iOS15 SDK and Android 32-bit app development.
Is Windows Server 2016 supported?
Official support is for Windows Server 2022 and Windows Server 2019, but though untested, applications should likely work fine on Server 2016. We recommend conducting your own testing.
Can 11.3 and 12.0 coexist on the same machine without issues?
What about Parnassus Bookmarks and Navigator for Delphi 12?
They’re in GetIt. At the time of the actual live Q&A installation there was a bug if you also had 11.3 installed, but this is now resolved, so go ahead and install or reinstall them.
Will the Docker images for PAServer and RAD Server be updated?
Yes, we are in the process of updating those images.
If we edit a project in version 12, will it compile in version 11.3?
We don’t officially support going backwards, and while there are likely to be no major changes to project files we can’t answer, because we don’t test it — it is not recommended or supported practice. Use separate project files for separate versions.
If you use any of the many new features, of course, the new components, properties, etc won’t work in 11.3 because they are in 12.0 only! If you open a form/frame with a component that has new properties, those might be added to the DFM/FMX file and the older versions won’t be able to read those form files definitions without showing an error. In other words: go forwards not backwards.
Has the ToolsAPI documentation been updated?
Are there new demos / samples for RAD Studio 12?
Yes! Our Github RAD 12 demo repository has the following new demos added:
Skia for Delphi and C++, in VCL and FMX
- CPPMulti-Device SamplesSkia4Delphi
- Object PascalMulti-Device SamplesSkia4Delphi
- Object PascalVCLSkia4Delphi
FireDAC / Data
- Object PascalDatabaseFireDACSamplesComp LayerTFDQBEMain
- Object PascalToolsAPIEditor DemosEditor Local Menu Demo
- Object PascalToolsAPIEditor DemosEditor Raw Read Demo
- Object PascalToolsAPIEditor DemosEditor Write Demo
- Object PascalToolsAPIEditor DemosLineCellStateDemo
Will the IDE be available as 64-bit?
We can’t share a timeline, but stay tuned!
I develop on a Mac using ARM using Parallels. Can I compile for ARM and Intel on that platform?
We don’t officially support running RAD Studio on ARM Windows or in a VM, though we’re looking at adding these to our supported platforms. Some staff internally use them and there are some known issues. The majority of RAD Studio features work, and we are investigating some issues related to floating point math, and issues debugging.
However, we do not prevent compiling for a specific target platform based on the platform the IDE is running on. That is, you can compile for Intel while running on ARM, with the important note that it is completely unsupported to do so.
Does RAD Studio 12 allow undocked design?
Yes, though in a different way to how it used to. The form designer is always docked, but you can place it inside multiple windows, so put the form designer on another screen or have it in a floating window. You can also have both design and code for the same unit onscreen at the same time.
Is FastReports available for version 12?
Yes, and there is a single installer for both VCL and FMX FastReports in GetIt.
Is there a ‘work from home’ license available?
Named user licenses can be used on two machines like this (so both licensed to you and used one at a time.) Please contact sales to discuss what you need and we can talk to you more.
Community Edition at home would actually be incorrectly licensed if used for work. Please review the RAD Studio, Delphi, C++Builder Software License & Support Agreement, including the section on the Community Edition.
Will there be a 12 Community Edition?
Yes, we are expecting a Community Edition to be released at some point. Using the very latest is a perk that comes with a commercial purchase, and CE has trailed the latest version by a little bit for several years.
Any plans for AI in future?
We don’t normally speak about things that are coming until they are released, but AI is an area we have lots of thoughts and active interest. Many people in our community do too and there are several AI-in-the-IDE projects in GetIt you can experiment with today.
What’s the story behind the ‘Athens’ name?
Greece and Delphi! Or to give a longer answer, we had a series of cities from each continent, with the last being Alexandria being both a classical city (thus connecting to Delphi) and one in Africa. This release, we thought we’d name it after Greece, connecting to both the notion of classical-era cities and of course to our own naming roots.
We don’t know yet what we’ll call version 13!
Does that mean Delphi works at sub-zero temperatures?
Looking at the question transcript we can’t tell what prompted such an interesting question 🙂 But, yes! David, one of the PMs, lives about three hundred kilometers south of the Arctic Circle where the coldest he’s experienced was -29°C in winter, and he assures us that Delphi and C++Builder run on his computers.
We had attendees from Finland to Algeria to Mexico to Brazil to South Africa to Czech to Vietnam to the city of Athens itself! Presumably this also means Delphi works in hot weather.
We got an amazing amount of feedback on the features in RAD Studio 12, plus a lot of questions about future plans. We aren’t able to comment on our roadmap, but please be assured we pay attention to what you need.
For the other feedback, just a small portion of it is (comments may be lightly edited for spelling or grammar, but not to change meaning):
- Amazing news and features, huge new things, and a big step for the future of C++Builder. Happy to see there is a lot of effort on the C++ side too. Very nice presentation, Congratulations.
- I should note that I was able to compile C++ Builder 10.x 11.x projects with 12.x, there were slight few changes in 64bit apps. I can say 12 is mostly friendly with old projects. I think developers are asking this.
- Great work on C++Builder
- Visual Assist looks a really BIG step forward!
- Refactorings in the IDE are great. All other IDEs have had them for years.
- Thanks for the C++ Visual Assist. It’s the first time there’s something new in C++ Builder before Delphi :o)
(Thanks! We think this is an incredibly exciting release for C++ and really demonstrates our commitment to it, and is incredibly useful and productive for you.)
Visual Assist for Delphi
- Will there also be “Visual Assist for Delphi”?
(We got a lot of questions about this. We’re paying attention!)
Other new features:
- Multiline strings are amazing, not only for JSON/XML for SQL and many other text forms.
- FireDAC secure coding is great, and other FireDAC features too. I think it is available for the C++ Builder too, right?
(Yes, FireDAC is for both Delphi and C++, including these features.)
- Magic security is nice to have!
- Love QBE, it is a great addition to FireDac!
- I LOVE this icon generator feature; it’ll streamline one important cross-platform development step significantly!
- This JSON generator will save us a lot of time
Skia and visuals:
- I really love the visual aesthetic of the slides, new icon, and splash screen. Fits well with huge impact of the Skia overhaul.
- RAD Studio 12 looks like a colourful edition (at least judging by this startup screen!)
(We’ve been adding a bit more colour recently in the splash screens and Welcome Page, not to mention that you can use custom VCL styles in the IDE. And optionally taking colour away too – there’s even a plain grey-only Welcome page background if you want to use it. Something for everyone we hope :))
- Everything I see of Skia is impressive
- The addition of Skia really feels like a whole new version of FireMonkey and VCL. And the beauty of it is that our code is (mostly) backwards compatible.
- Thank you very much guys, very good seminar, great looking release. Love Embarcadero!
- Very nice webinar, I love the new features of version 12. You guys are great and I love the Embarcadero product.
- Congratulations guys, the IDE is getting better and better.
- WOW! That icon generator is very cool. Thank you.
- Great new features! Thanks for the work guys!!
- Thanks for the fantastic webinar and amazing new release. Athens is a huge leap forward for both Delphi and C++Builder. So exciting.
- For education, check out Dr. Bond’s book https://delphi-books.com/en/How-to-Program-Effectively-in-Delphi-for-ASA-Level-Computer-Science.html
- It’s true – you can update an old version to new pretty smoothly. I just did it – upgraded from Borland Delphi 2005 to Delphi 11.3 🙂
- Is there a box of RAD Studio Athens for Marco to put on his shelf?
(We should make him one specially!)