Pomalu začínají prosakovat informace o nové verzi Delphi 10.3 Rio. Podle mne se bude jednat o naprosto zásadní verzi. Posuďte sami z toho co je zatím zveřejněno.
inline proměnné
Od nepaměti Delphi (resp. pascal) měl blok deklarace. V nové verzi tento zůstane, ale navíc můžete deklarovat proměnnou kdekoliv jinde.
begin
var oDict:= TDictionary <string, Integer>.Create();
// nyní je oDict typu TDictionary <string, Integer>
oDict.Add ('one', 1);
nebo můžeme napsat
begin
for var i := 10 to 20 do
begin
end;
// zde není i dostupná
for var Z: Integer := 1 to 10 do
///…
if neco then
begin
var s := 'Hello ';
…
end;
// zde není s dostupna
Navíc samozřejmě život takové proměnné je limitován blokem (scope) kde je deklarován, takže k případnému uvolnění dochází na konci bloku.
Berto to jako první pohled, zdroj: článek Marca Cantu - Introducing Inline Variables in the Delphi Language.
Změny ohledně ARC
S novou verzí je z Linux kompilátoru odstraněno ARC (Automatic Reference Counting), chystaný Mac64 kompilátor bude bez ARC také. Navíc v budoucích verzí Delphi i mobilní kompilátory budou budou bez ARC. Chápu, že je to zásadní změna, ale myslím, že je to ku prospěchu věci.
Důvody zmiňuje opět Marco Cantu Directions for ARC Memory Management in Delphi.
Ve zkratce: problémy s kompatibilitou napříč platformami, problémy s životním cyklem (TComponent a spol), horší výkon programů s ARC (ale byl lepší než s garbage collectorem).
Pořád platí jak od Delphi 2: stringy, recordy a interface mají pořád počítání referencí.
Změny IDE
Zde jen odkaz na oficiální blog New in 10.3: IDE UI Improvements in the Main Window
Android Z-Order, Native Controls
Vypadá to, že v nové verzi dostane Android korektní podporu Z-Order, tj. korektní pozici prvků při kombinaci FMX a nativních prvků. Navíc budou přidána podpora pro nativní verzi těchto prvků:
- TCalendar
- TEdit
- TSwitch
- TMultiView
kde významný je speciálně TEdit (různé klávesnice atd)
To není samozřejmě vše, podrobnější info: Android Z-Order, Native Controls, and 10.3 Rio
Homepage Delphi : embarcadero.com/products/delphi
Článek je uveřejněn z informací ohledně předběžné (beta) verze a se svolením firmy embarcadero.