Developper    Book   VP

Our Content of this webside

What is coming in Delphi 12 ( Part III ) and conclusion - 22 Oct. 2023

This blog post is based on a pre-release version of the RAD Studio software and it has been written with specific permission by Embarcadero. No feature s committed until the product GA release.

Here we are at the third and last part of my short blog post series about Delphi 12.
So here some other nice new features that I like very much:

01. Enhanced infos in Code Insight PopUp Window: When you are beside a variable you can press a dot or a blank and you get this window:

Complete.png You can see at the bottom of the window a new panel (a little bit highlighted by me) with some information, what you can do in this window (which key-input is possible) and on the most bottom right the wrench symbol. When you click on it you will be led directly to the relevant settings dialog of the Tools menu.

This is a small enhancement, but very helpful.

02. Colored handles in the TSelection component: Also only a small enhancement, but again, very helpful. If you now move with the mouse over the handles, the handle at the mouse-position will be highlighted in red:

Handles.png
That makes it much more easier to grab that handle with the mouse and resize the object, that is in the TSelection (in this case a TImage).

By the way, the TSelection is one of the most underestimated components in FireMonkey. If you have not yet seen my video about it, here you go: Short YouTube-Video


03. New "GetCompilerversion" and "GetRTLVersion": This new two function can help you to call the right code in conditional compilations.

04. More Colors in System.UIConsts.Colors: Some more color constant are added, so that for example the StringToColor and ColorToString functions offer a greater range of colors that can be handled.

05. IDE-Improvements with colors: In Several sections of the IDE and windows we have some improvements in color usage. That means there are more parts in an other color, so that you can easier find the relevant data. For example, look here at the window, that shows a search result:

IDEColors.png
The numbers of findings are now highlighted in the brackets. Also the line-number. I really like this kind of enhancements, that makes your work easier and more effectiv. And there are a lot of such things in Delphi 12.

Summary and conclusion
OK, you know perhaps that I'm using Delphi since a very long time and I'm always keen on it to use the newest version. But this time it is more than ever that I want to use the new version 12 officially (and not only as beta tester) and compile and release my programs with Delphi 12. There are so many quality enhancements, fixed bugs, new functions.

Luckily we are on a good way and I hope that it will take not so a long time that Delphi 12 will be released.

Here are the last five nice enhancements and a conclusion...

What is coming in Delphi 12 ( Part II ) - 11. Oct. 2023
This blog post is based on a pre-release version of the RAD Studio software and it has been written with specific permission by Embarcadero. No feature s committed until the product GA release.

Let us continue the blog post about new and optimized features in Delphi 12. Here are some other things that I like:

01. Updates to included Libraries
The integrated version of DUnitX (for unit-testing) has been updated to the last version of the library and also INDY (Internet-Components) has been updated to the last official Github-version (currently: 10.6.2.0).

02. Enhanced "Find in files" dialog
If you use the "search in directory" option, you now can use an additional input field (subdirectory exclude mask) where you can exclude some directories from the search. Additionally the dialog will be faster displayed, if you call it direct from the menu, because now it does no longer do other preparing tasks for refactoring tools. In Delphi 11.x it sometimes take some seconds until the dialog was displayed. Now it will be displayed without delay.


03. Faster IDE in general
Delphi uses now the own TDictionary Class for the internal management of some IDE-features. Together with the again updated and optimized TDictionary-Class one can very good see and feel the faster behavior of the IDE.

04. List and Array improvements
For TList and descendant classes, the "List Index out of bounds" error message was enhanced to include the index being used and the valid range (or the fact that the structure is empty). It also includes the class name.
This is an important enhancement for stability and finding errors.
Also new functions like "IndexOf" or "contains" are added to this classes. This is very helpful, because it simplifies some typical tasks that one can have with this kind of classes.

05. New Quick-Designer dialogs for VCL
With the new designer for the TPanel and the TRadioGroup one can very fast make the wanted settings. That's a very good for productivity enhancement!


Above the TPanel
Below the TRadioGroup



So, that is the end of the second part.
But a next part will follow soon...

Here are the next five nice enhancements...

What is coming in Delphi 12 ( Part I ) - 9. Oct. 2023
This blog post is based on a pre-release version of the RAD Studio software and it has been written with specific permission by Embarcadero. No feature is committed until the product GA release.

Delphi 12 is one of the biggest updates in the last years. Beside the really huge amount of bugfixes, there are a lot of new functionalities.

Here is a short list as overview:

- Skia for Firemonkey
- support Android level 33
- a new architecture for styles edit and memo controls on FMX
- redesigned MDI in VCL
- single APP Icon Wizzard
- RTL improvements (optimized BOM in UTF-8, ZIP-Improvements, enhanced IOUtils)
- Optimized IDE (highlighting also in structure and callstack, reduction of GDI res- sources)

What I like the most in Delphi 12

01. No beeps with shortcuts: A smaller, but very good optimization on FMX is that you now can use an ampersand sign in a TSpeedbutton ("Datei") and call the event of this button e.g. with Shortcut <ALT+D> without making a "beep" noise, especially if you have no TMainMenu included in your form. And no noise also with all other direct calls of Shortcuts with <ALT+Letter>).

02. New header-property for TGrid and TStringGrid: On FMX we have now a new propery "Header- settings" with "Textsettings" and "Style-Settings". That means you can set a different font or color for the header of the grid. That is a very nice visually enhancement!


03. Enhanced StringList-Editor: For FMX and VCL the window for the stringlist-editor has now a toolbar for use copy and paste and also a status line, where one can see row and column-position:



04. New multi-line editor: On VCL you can now edit a caption property (e.g. a Tbutton) in an extra editor, where you can set very easy the line-break of the text, so that the button has two lines of text. Very helpfull, no longer needed to edit the form-file to reach this.


05. New TSkLabel: On FMX and VCL you can activate the use of Skia and than you have also additionally components. With the TSkLabel you can have parts of the label-text colored or bold or underlined and so on. That gives you a new wide range of text-representation!

To be continued

So, this is the first part of my blog post about Delphi 12. A second part will follow soon...

In the first part I show 5 new functionalities I like very much.

How to use help in Cross platform apps - 12. Sep. 2023
With the demonstrated solution you can create one version of the help-file and use it on all desktop-platforms.

Here ist the link to the video:

A solution to use help on Windows, MACOS and linux.

Replace the MessageDlg in FMX with an own sulution - 8. Sep. 2023
The current MessagDlg has serious problems under FMX. In this video I show you a solution how you can replace the standard-dialog with an own solution. Source is included, you can use it for free. Here ist the link to the video:

Use a new MessageDlg with FMX.

Move + resize controls in a FMX form with the TSelection-component - May 2023
I noticed that many developer have no knowledge about the TSelection component. In this video I show you how you can use it. Here ist the link to the video:

How to use a TSelection component.

How to know with which Delphi version your app was compiled - Apr 2023
With the help of the following unit you can always include in your About-Dialog the right Delphi-Version thas was used to compile the program:

unit DVersion;

interface

Const
S_DelphiVersion =
{$IFDEF VER350}
{$IF Declared(RTLVersion113)}
// Delphi 11.3
'Delphi 11 Alexandria upd 3'
{$ELSEIF Declared(RTLVersion112)}
// Delphi 11.2
'Delphi 11 Alexandria upd 2'
{$ELSEIF Declared(RTLVersion111)}
// Delphi 11.1
'Delphi 11 Alexandria upd 1'
{$ELSE}
// Delphi 11.0
'Delphi 11 Alexandria'
{$IFEND}
{$ENDIF}

{$IFDEF VER340}
{$IF Declared(RTLVersion1042)}
// Delphi 10.4.2
'Delphi Sydney 10.4 upd 2'
{$ELSEIF Declared(RTLVersion1041)}
// Delphi 10.4.1
'Delphi Sydney 10.4 upd 1'
{$ELSEIF Declared(RTLVersion104)}
// Delphi 10.4
'Delphi Sydney 10.4'
{$IFEND}
{$ENDIF}

{$IFDEF VER340} 'Delphi 10.4.2 Sydney' {$ENDIF}
{$IFDEF VER330} 'Delphi 10.3.3 Rio' {$ENDIF}
{$IFDEF VER320} 'Delphi 10.2 Tokyo' {$ENDIF}
{$IFDEF VER310} 'Delphi 10.1 Berlin' {$ENDIF}
{$IFDEF VER300} 'Delphi 10 Seattle' {$ENDIF}
{$IFDEF VER290} 'Delphi XE8' {$ENDIF}
{$IFDEF VER280} 'Delphi XE7' {$ENDIF}
{$IFDEF VER270} 'Delphi XE6' {$ENDIF}
{$IFDEF VER260} 'Delphi XE5' {$ENDIF}
{$IFDEF VER250} 'Delphi XE4' {$ENDIF}
{$IFDEF VER240} 'Delphi XE3' {$ENDIF}
{$IFDEF VER230} 'Delphi XE2' {$ENDIF}
{$IFDEF VER220} 'Delphi XE' {$ENDIF}
{$IFDEF VER210} 'Delphi 2010' {$ENDIF}
{$IFDEF VER200} 'Delphi 2009' {$ENDIF}
{$IFDEF VER190} 'Delphi 2007' {$ENDIF}
{$IFDEF VER180} 'Delphi 2006' {$ENDIF}
{$IFDEF VER170} 'Delphi 2005' {$ENDIF}
{$IFDEF VER160} 'Delphi 8' {$ENDIF}
{$IFDEF VER150} 'Delphi 7' {$ENDIF}
{$IFDEF VER140} 'Delphi 6' {$ENDIF}
{$IFDEF VER130} 'Delphi 5' {$ENDIF}
{$IFDEF VER120} 'Delphi 4' {$ENDIF}
{$IFDEF VER100} 'Delphi 3' {$ENDIF}
{$IFDEF VER90} 'Delphi 2' {$ENDIF}
{$IFDEF VER80} 'Delphi 1' {$ENDIF}
;

implementation

end.

A short unit that helps you to identify your compiled apps.

Older blog posts - starting at 2013
Aa I mentioned above I do reworke my blog page. Step by step the older post will be integrated here. In the meantime you can read the older posts here:
Older blog posts

Here you find older blog posts.

Something else that could be helpfull for you

The Pascal Project Manager & Editor

A bit of fun: The Delphi Happy Birthday song

Embarcardero Homepage