CodeRage XII Modernizing your VCL application

Thank you for watching my session on Modernizing your VCL application at CodeRage XII.

If you want to watch the video again, you can use this YouTube link:
https://youtu.be/qKy1QEuj4Es

Slides, source code and database for this webinar is available for download here:
https://dannywind.nl/get/DannyWind_ModernizingYourVCLApplication.zip

The zip file is password protected to add some level of security to it.
The password is coderagexii

Additional Tips:

The Windows-10 styles can be modified or appended with your own styling using Tools | Bitmap Style Designer.

When using a TTask to get things done in the background, avoid sharing resources with the main thread. Either disable access from the main thread to these resources or create copies for the TTask. After that feedback the results to the main thread using TThread.Queue or TThread.Synchronize.

When using TTask, use a task-based approach just like you would in the real world when you let a colleague do a task. Just delegate an entire task with the required resources (memory, file handles, connections, datasets) to a TTask and allow the task to feedback its results at the end of the task. Avoid using locking as this can easily lead to deadlocks, waitlocks and other blocking effects.

When using Change Views keep in mind that the first time a subscription is activated on the Change View it will return all records, as it does not yet know which records you have already received for the specified subscription identifier.

Change View subscription identifiers should be unique but repeatable for each running application instance. Create an identifier, such as [MachineName+UserName] and use it to activate the subscription. If the application is stopped and then run again, it can activate the subscription using the same identifier, so you will get the changes back again.

CodeRage XII – Modernizing your VCL application

If you haven’t already sign up for this years CodeRage XII conference.

CodeRage XII is an online conference for three days starting Tuesday Nov 7th on 13:00 in the afternoon (CET, Amsterdam time), until Thursday Nov 9th at one a clock in the night.

There are a lot of interesting sessions this year, covering everything from JSON to Linux Libraries, Amazon data storage to running on Arduino with Visuino. And many more.

Key speakers this year are Robert C. Martin on Clean Coding and Agile, Marco Cantu on ExtJS, and of course our own Paweł Głowacki on Amazon data storage integration.

I’ve got a session as well, on Modernizing your VCL application. It takes a Webshop BackOffice application and re-styles it for Windows-10 and 2017, removes the user wait times by using FireDAC Async SQL and TTask from the Parallel Programming Library (PPL) and uses Interbase Change Views to take a first step to changing from a save/load based approach to a state-based application, where the user always has the latest data available.

Accelerate Your Delphi Development – European Delphi Tour 2017 – 19 mei 2017

Op 19 mei 2017 hebben we een evenement dat net iets anders is dan anders. Het nieuwste van Delphi 10.2 Tokyo is namelijk niet alleen de focus van deze dag. Op verzoek van deelnemers aan eerdere evenementen laten we die dag ook zien op welke manier je je bestaande Delphi applicaties kunt moderniseren met de recente features van Delphi.

Natuurlijk zie je ook de nieuwste features van Delphi 10.2 Tokyo; zoals back-end software op Intel Linux, MariaDB toegang, en demo’s van enkele van de fraaie nieuwe VCL en FMX componenten. Paweł Głowacki laat al dat fraais natuurlijk graag zien. Maar er is meer dan dat alleen.

Is je applicatie nu nog Client/Server of maak je gebruik van eigen Datasnap? In zijn sessie laat Bob Swart zien hoe je gebruik kunt maken van RAD Server voor een snellere Time-To-Market en een eenvoudige manier om in te stappen in multi-tier services, zonder dat je zelf servers hoeft te gaan hosten.

Is je applicatie nu nog straight VCL? In mijn sessie laat ik zien hoe je in korte tijd met beperkte inspanning de User Experience significant kunt verbeteren. In deze sessie zet ik een VCL applicatie om naar een moderne User Interface met tactile feedback, een dashboard en technieken als background threading en Async SQL. Gebruikers verwachten een applicatie die eenvoudig toegankelijk en overzichtelijk is, maar ook één die onmiddelijk reageert en die samenwerkt i.p.v. vertraagt. Oh ja, uiteraard mooi gestyled, dat ook.

Meer info en inschrijven:
Accelerate Your Delphi Development – European Delphi Tour 2017 – 19 mei 2017

DAPUG Denmark – October 2016

Jens Fudge very kindly invited me as a speaker on the DAPUG workshop on October 25 and 26. I was honoured and I will do my best to make my presentations live up to the expectations of the DAPUG members.

On these two days I will talk about the expanding world of Delphi. Delphi is no longer just a desktop development platform for Windows, but for a while now has allowed their developers to build apps and applications for iOS, Android, Mac and soon Linux. But it is even expanding beyond that with built-in support for Bluetooth LE devices on all platforms as well as IoT components to interact with physical devices like lights, locks, and many other IoT devices. Delphi definitely is “One source to rule them all”.

The details of the program for these two days is listed here: http://alt.dapug.dk/ws25102016.htm

Delphi Festival Utrecht – 20 september 2016

Delphi 10.1 Berlin, met de Windows 10 Anniversary Update, Preview van Delphi back-end software op Linux, VCL updates, mobiele toepassingen, Internet of Things (IoT), Artificial Intelligence, PDF printing, MARS en REST, Spring4D en een kijkje in de Embarcadero R&D Labs. Er is zoveel te zien dat je je geen moment zult vervelen.

De sprekers zijn Pawel Glowacki, Mattias Gartner, Boian Mitov, Girish Patil, Vladimir Andretsov, Marco Geuze, Stefan Glienke, Andrea Magni, Bruno Fierens, Danny Wind en Olaf Monien.

Meer info en inschrijven:
Delphi Festival Utrecht – 20 september

Delphi Benelux 2016 Congress 26 mei 2016

Dit wordt weer iets bijzonders, in het Evoluon in Eindhoven.

Stephen Ball is er bij met Interbase en Visual Livebindings sessies. Als je nog vragen had over Interbase, Stephen is de expert. Paweł Głowacki laat alle nieuwe features zien van Delphi 10.1 Berlin en heeft hiervoor enkele fraaie demos geschreven. Bob Swart heeft twee leuke sessies; upgrade VCL naar Delphi 10.1 Berlin en database programming met FireDAC. Zelf heb een sessie over IoT Home Automation, waar ik de Vera Plus hub gebruik met Delphi. Deelnemers krijgen de nieuwe Fibaro Wall Plug software component om het Fibaro stopcontact die in NL makkelijk verkrijgbaar is aan te sturen. Verder een sessie over multi-tier met een RESTful API, waarin ik o.a. laat zien hoe je in Delphi een full compliant REST server kunt maken met GET/PUT/POST/DELETE. Als afsluiter een sessie over Bluetooth Beacons, waarbij ik enkele Raspberry Pi 3’s inzet als flexibele en remote controllable Beacons.

Meer info en inschrijven:
http://www.barnsten.com/nl/events/details?events_id=202

PASCON 19 maart 2016

De volgende PASCON is alweer heel dichtbij, op zaterdag 19 maart. Het wordt een  uitdagende dag met begrijpelijke uitleg van complexe onderwerpen zoals Generics, Kunstmatige Intelligentie (David Dirkse) en Threading met de PPL (Danny Wind).

Over het stukje PPL (Parallel Programming Library)  kan ik wat meer vertellen; hier laat ik enkele eenvoudig toepasbare usage patterns zien die je direct kunt gebruiken in je eigen Delphi code om je code vlot en responsive te laten reageren. Onder andere een pattern voor Task Resource Handling, en Task Monitoring, maar ook netjes afhandelen van Task Canceling.

Meer info hier, en toegang is gratis:
http://www.delphigg.nl/DutchPascon/Pascon_PASCAL_MAART_2016.html

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.