Yes, I've got permission to blog about the upcoming new version of Delphi 10.4 Sydney!.
First I want to answer the most urgent question for all FMX-Mobile developers:
What about ARC?
It's gone, it's history, I hope I will never see any kind of ARC again!
It's gone, it's history, I hope I will never see any kind of ARC again!
Next on my list is Metal... No more OpenGL-(ES) on iOS.
It has a nice new feature: You can set your framerate, e.g. fix to 60FPS or only refresh the screen if something has changed. I haven't done any longterm tests with this setting, but I assume that this will expand your battery life.
With both - NO ARC and Metal my iOS app is flying! Not only by numbers, you really feel the new performance.
The other thing: The new Managed Records - as Marco Cantu has already blogged about it. Please follow the link!
Why are these records so interesting? Well, I have a 34 years old huge app grown from TP to Delphi. In these App, we're using mostly records for everything. At the moment we can only use short-string.
Why?
Imagine a record with an ansi- or unicode-string like:
Imagine a record with an ansi- or unicode-string like:
TFoo = Record
Name : Ansistring;
end;
Every procedure that want's to use a TFoo instance doing:
Procedure Bar(Var aFoo : TFoo);
var
Buff : TFoo;
begin
begin
Buff := aFoo;
aFoo.Name := 'Othername';
//...
aFoo := Buff;
aFoo := Buff;
end;
Because you only copy the reference of Name, changing aFoo.Name also changes Buff.Name. So the Buffer is not working at all!
With the new Records you have a copy method, where you can explicitly call Setlength to create a copy of the string.
The first time in history the migration from D2007 to 10.4 will saves a lot of work. We will see - still a long way.
BTW: Now it's a good time to renew your subscription. Please click on the banner below.
Happy coding with this #ComingSoon new Version of #Delphi104!
Thanks for the shortstring hint... I have also a legacy app that stores table rows on pascal records, and am using shortstring just for the same reason you use them
ReplyDeleteYes - But it's still a long way to go, if you have an app with 12Mio. LOC.
DeleteBTW, Any news on MVVM FRAMEWORK???
ReplyDeleteI'm still inventing the last puzzle pieces, I have a solution for the connection from the ViewModel to the Model, to the Database, but it's not 100% smooth.
DeleteSome services are also not as elegant as they should be.
I'm currently developing while doing the next YouTube Video, that's why it takes a little bit longer as expected.