Ontdek Delphi 11.2 Alexandria

De nieuwe Delphi 11.2 Alexandria release is uit en we zijn blij met deze versie. We gaan samen met Barnsten in een webinar niet alleen de nieuwe features bekijken, maar er ook enkele uitproberen met demo’s.

Wanneer?
Donderdag 22 september 2022 van 09.30 tot 10.30 uur.

Waar?
Het webinar is online, registreer je nu hier:
https://www.barnsten.com/nl/ontdek-delphi-11.2-alexandria/

Waarom?
Maak niet alleen kennis met de nieuwe features en mogelijkheden van Delphi 11.2  Alexandria maar zie ook hoe je ze kunt toepassen. In dit webinar zie je op welke manier de nieuwe IDE features gebruikt kunnen worden in een development team en welke wijzigingen relevant zijn voor nieuwe en bestaande Delphi projecten. Tijdens en direct na afloop van het webinar kunt via de chatbox vragen stellen.

Teasers?
In dit webinar zie je hoe je local GetIt kunt gebruiken, hoe je Help Insight tags kunt toevoegen, met als bonus voor de deelnemers de primeur van een comic plug-in voor de Welcome Page.

Delphi 10.4.1 Apple Platforms Patch (December update)

De update patch voor de nieuwe Apple Platforms is ververst en opnieuw beschikbaar. Eerder was in november al de patch met support voor XCode 12, iOS 14 en macOS Big Sur uitgekomen. Deze december patch vervangt deze en fixt enkele bugs in de DataSnap ClientDataSet en in DBX en lost tevens enkele linker errors op als je build naar iOS14.

Beschikbaar via GetIt en als losse download. Let wel dat je de download hebt vanaf 18 december. Mocht je eerder op 16 december een download hebben gedaan, update deze dan met de versie van 18 december, anders heb je een oude versie van PAServer. Dit is in de zip eenvoudig te herkennen door de file datums van na 16 december.

Downloaden van deze patch via het registered users portal:
https://my.embarcadero.com/

5 quick tips for removing ARC in Delphi Sydney

With the release of version 10.4 Sydney, Delphi has officially moved away from the ARC memory model in the mobile compilers. This was announced in 2018, there is some nice background info in this blog post by Marco Cantu.

So how do you do a quick check if your Delphi mobile code has ARC dependencies you should fix?

Tip #1 – Run on Windows with ReportMemoryLeaksOnShutDown := True

This instructs the FastMM memory manager to report memory leaks. Simply run your iOS or Android App on Windows (with the Windows Platform active), perform the usual actions an end-user would perform and close the application. Any memory leaks will be reported and should be fixed.

In your application source code add this line:

 
begin
  ReportMemoryLeaksOnShutdown := True;
  Application.Initialize;
  Application.CreateForm(TFormMain, FormMain);
  Application.Run;
end.

If you have a memory leak a message like this will popup after closing the application.

Unexpected Memory Leak

Tip #2 –  Search | Find In Files (Shift-Ctrl-F) for any “.Create” code

Most ARC (Automatic reference Counting) code should be changed to CTFF (Create Try Finally Free). Just check if there is a try-finally and a free directly after the .Create. Not all Create code needs a try-finally-free, as some instances are owned by their container, for instance in a TObjectList<T> that may take ownership of the instantiated object.

Change this ARC code

 
procedure DoSpellCheck;
var 
  Harry: TWizard;
begin
  Harry := TWizard.Create; 
  Harry.SpellCheck;
end; 

To this CTFF code

 
procedure DoSpellCheck; 
var 
  Harry: TWizard; 
begin
  Harry := TWizard.Create;
  try
    Harry.SpellCheck;
  finally
    Harry.Free;
  end;
end;

Some code can not be easily changed from ARC to CTFF, mostly due to the Free needing to be called at some unspecified time in the future, which for instance is common in multi-threaded code. If this applies to you then you could take a look at smart pointers in Spring4D using Shared.Make(TObject.Create), or take a look at the new custom managed records which where introduced in Delphi 10.4. Both options enable you to use ARC style freeing of resources, within the now default unified memory model.

Tip #3 – Use a tool to check for memory leaks

The code in tip #1 uses the built-in FastMM4 and is free. There is also a dual-license newer version FastMM5, both are however limited to Windows. Luckily there is a nice and simple free library called leakcheck that does this for all Delphi platforms. Alternatively, if detecting leaks in Windows only is preferred, the commercial DeLeaker has a lot of options and easy overview of memory leaks. A nice summary of these tools and more can be found in the blog post of Wagner Landgraf.

Tip #4 – Check for platform specific code

The short check for memory leaks under the Windows platform will skip platform specific code for Android and iOS, so you should check for compiler directive based platform dependencies {$IFDEF ANDROID}, {$IFDEF IOS}, but also for run-time dependencies like with TOSVersion.TPlatform.pfiOS and TOSVersion.TPlatform.pfAndroid. Note that the compiler directive AUTOREFCOUNT has been removed in Delphi 10.4, but its entirely possible you used this in your own code to check for ARC availablity.

Tip 5 – Check for weak references

These are mostly introduced to enable multiple references to instances without affecting reference count in combination with ARC. Do not just remove them, they can also be used for other reference counted data structures which may not have anything to do with ARC perse.

Even without ARC, reference counting still exists in Delphi. The compiler will still automagically reference count interfaces and strings. The same mechanism is also used for the new custom managed records.

RAD Studio 10.4 Sydney Webinar 16 juni 2020

View of Sydney Harbour

Barnsten organiseert een RAD Studio 10.4 webinar op 16 juni om 14:00 waarbij ik de mogelijkheid krijg om enkele van de nieuwe features van Delphi 10.4 wat uitgebreider te laten zien. Nu ben ik best blij met de nieuwe versie dus die kans laat ik niet voorbij gaan.

Onderwerpen zijn  de werking en voordelen van per control VCL Styling, het hoe en wat van de nieuwe Delphi Language Server Protocol server voor Code Insight en de ins en outs van Managed Records en het uitfaseren van ARC (Automatic Reference Counting) op de mobile platforms. Er zit nog wel meer in qua onderwerpen, maar die kom je vanzelf tegen als je het webinar volgt.

Meer info en inschrijven kan met deze link::

Ontdek RAD Studio 10.4 Sydney – Webinar 16 juni – 14.00 uur

Tot volgende week dinsdag bij de Q&A !

iOS storyboard support in Delphi 10.4

No worries, the iOS storyboard that Apple requires for iOS Apps starting June 30th is covered in the soon to be released Delphi 10.4.

The way you add a iOS storyboard is, as always in Delphi, very easy to use. Just head over to Project Options | Icons and reconfigure your launch images. Also set the new Dark and Light background, and you’re done.

The other requirements added by Apple may or may not mean you have to add or change some of your code. Please use the news item from Apple to review any necessary changes at https://developer.apple.com/news/?id=03262020b.

It’s good to know that everything we need for our iOS development is there, and, well, I just had to share this tiny bit of information. Thanks to Jim McKeeth for allowing me to share this with you before Delphi 10.4 ships.

Delphi 10.4 Coming Soon

Delphi 10 Parallel Programming Training – 10 en 11 juni 2020 (verplaatst)

Altijd al willen weten hoe je al die CPU cores voor je kunt laten werken in Delphi?

In deze twee daagse training gaan we gebruik maken van de System.Threading bibliotheek in Delphi, ook wel de PPL, Parallel Programming Library genoemd.

We starten eenvoudig met TTask en TFuture en TParallel.For en breiden dan uit naar hoe je dit eenvoudig, robuust en zonder dead locks toepast in je database verbindingen, communicatie met webservices en andere taken die je asynchroon wilt uitvoeren.

Maak je applicatie meer responsive en gebruik die cores!

De training is ingepland voor 10 en 11 juni bij het jachthuis te Doorn (nabij Utrecht).
Dit event is verplaatst in verband met het corona virus en wordt later opnieuw ingepland.

https://www.barnsten.com/nl/product-categorie/rad-studio-tools-nl/parallel-programming-training/

Delphi “The LAB” – 19 september 2017

Er komt een mooi evenement aan met de prachtige gelegenheid om rustig te spreken met de presenters van het evenement in “The LAB”.

Neem de tijd om bij een kopje koffie te praten met elk van de presenters in het restaurant van het Evoluon, maar volg ook de interessante sessies van sprekers als Jens Fudge, Andrea Magni, Bob Swart en David Millington. Vergeet ook de CurieWise C++ Builder sessie van Ludo Stroetenga niet.

Mijn sessie op dit seminar gaat over het oppeppen van bestaande Delphi VCL applicaties. Verplaats de gehate zandloper naar TTasks, poets je User Interface op met fraaie controls en gebruik enkele nieuwe technieken om je code indrukwekkend sneller te maken. In “The LAB” heb je ook nog eens uitgebreid de tijd om me vragen te stellen over het gebruik van TTask, User Interfaces of over het maken van een goede espresso.

The LAB, where you get to spend time with Delphi presenters

The LAB

PDF met de sessies:
https://www.barnsten.com/media/factsheet/Agenda_The_LAB.pdf

Inschrijven kan hier:
http://embt.co/2udBG5p

Delphi in het onderwijs – 20 april 2017

Als u als leraar kennis wilt maken met de mogelijkheden van Delphi als programmeertaal in het voortgezet onderwijs dan kan dit nu op de Slim bijeenkomst op 20 april 2017, deelname is gratis, de locatie is het SLB diensten kantoor te Amsterdam.

In deze bijeenkomst laat ik samen met Barnsten zien waarom Delphi voor leerlingen de beste taal is om te leren programmeren.

  1. Delphi is Pascal, en Pascal is gemaakt om te leren programmeren
  2. Delphi kent een lineaire leercurve, vanaf uur 1 maak je al je eerste eigen applicatie
  3. Delphi bestrijkt het hele spectrum van low-level CPU tot aan high-level classes en frameworks
  4. Delphi applicaties compileer je naar alle platformen, Windows, Mac (OSX), iPhone (iOS), Smartphones (Android) en web servers (Linux)
  5. Delphi spreekt de jonge developer aan met Apps op de Android SmartPhone en met IoT communicatie met gadgets

Meer informatie over de locatie en inschrijving vindt u hier:
https://www.barnsten.com/nl/events/details?events_id=278
https://www.slbdiensten.nl/slb/nieuws/evenementen/infosessie-programmeertaal-delphi/inschrijven-infosessie-programmeertaal-delphi#meerleren

December Delphi maand

Volgende maand is het alweer december, dus sluit het jaar goed af met één of meer Delphi 10 Seattle workshops.

Op 1 december (Zwolle) en 3 december (Eindhoven) laten we samen met de ontwikkelaars die ze gemaakt hebben twee verschillende in Delphi gemaakte Apps zien. De ene is voor de iPad mini en zal worden gebruikt in het calamiteitenhospitaal voor snelle registratie van patientstatus, de andere is zowel Android als iOS en is voor de binnenvaart. Bij beide apps laten we de technische highlights zien met demos van hoe je dit zelf kunt maken, in Delphi 10 Seattle.

Op 15 december (Hoofddorp) geven Paweł Głowacki en ik een hands-on workshop in de nieuwe features van Delphi 10 Seattle, gecombineerd met oefeningen en code die je direct kunt gaan gebruiken in je bestaande VCL applicaties of voor je nieuwe mobiele apps. Dus pak je laptop en doe mee.

Meer details vindt je hier:
http://www.barnsten.com/nl/delphikennis

Bijna vergeten; we sluiten het jaar nostalgisch af op 29 december (Etten-Leur) met een migratie training voor het omzetten van bestaande Delphi software naar Delphi 10 Seattle, met ASCII -> Unicode, BDE -> FireDAC, en VCL Styling voor de look die de klant graag wil.

Delphi XE8 Launch 19 en 21 mei

Het leuke van Internet of Things is dat IoT leuk is. Het maakt ineens dingen mogelijk die je niet voor mogelijk had gehouden.

Je loopt een wachtruimte in en je telefoon ziet dit en meldt je automatisch aan. De app die zichzelf heeft geactiveert laat je ook zien wie je gaat spreken en wanneer. Zodra je aan de beurt bent geeft hij je een seintje.

Bij een veiling zie je van elk item op je smartphone wat de geschiedenis is door hem dichtbij het te veilen item te houden. Zodra je de veilinghal inloopt verandert de app en kun je bieden op de door jou uitgekozen items.

Wil je zien hoe je wat Delphi XE8 voor mogelijkheden biedt voor IoT, kom dan naar de XE8 launch event, georganiseerd door Barnsten op 19 mei in Utrecht of 21 mei nabij Antwerpen.

Meer info vindt je hier:
http://www.barnsten.com/nl/events/details?events_id=147