Happy Birthday Delphi!

Happy Birthday Delphi!

Today Delphi turns 28, and that’s the second perfect number. To celebrate we baked not one, not two, but three mini dutch apple pies.

Delphi 28th birthday applepie

one Mini Dutch Apple Pie, two Mini Dutch Apple Pies, three Mini Dutch Apple Pies!

Did you know that Python turns 31 in just 6 days? Oh, and 6 is the first perfect number. And 31 minus 28 is 3. Is this all just a coincidence? 😉

Android SDK for Delphi 11.2 Alexandria

The Android SDK is an optional feature in the Delphi installation. Now if you did not select it in the install, you can add it later using the Tools – Manage Platforms menu in the Delphi IDE. If you do that, then you should also check the Eclipse Temurin OpenJDK 11 (Hotspot) JVM, for the Java bits the Android SDK needs.

If you forgot that, no worries, the Delphi IDE has an automatic feature to detect missing Android SDK files. So if you start an Android project and then hit compile you will get a question from the Delphi IDE “Would you like to update the platforms SDK now?” Just click yes and it will then download the Android SDK for you and you can just continue.

Would you like to update the platforms SDK now?But occasionally the install process of Delphi fails to download some of the required Android SDK files from Google. There are many reasons for this, sometimes the Google servers are down or there is a conflict with an existing Android SDK. You can easily confirm issues using the Delphi SDK Manager, that you can open through the Tools – Options menu. Under the Deployment branch you’ll find the SDK Manager.

Android SDK manager fro Delphi 11.2The missing folders are indicated with yellow danger signs next to them. In this case we are missing

  • build-tools 32.0.0
  • platform-tools
  • platforms android-32

The solution here is to open an administrative command prompt and navigate to the Android SDK advmanager.bat folder as you can see in the SDK manager screen:

CD "C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK-2525-22.0.46141.0937\cmdline-tools\latest\bin"

In that folder we need to use the sdkmanager.bat file to download and install the missing items.

sdkmanager "build-tools;32.0.0"
sdkmanager "platform-tools"
sdkmanager "platforms;android-32"

You can also list all the available items that you can download and install in from Google.

sdkmanager --list

More information on the sdkmanager can be found on the android developer website: https://developer.android.com/studio/command-line/sdkmanager

That should fix it all up!

As a sidenote; with the newer Windows 10 and 11 versions the Android ADB driver comes pre-installed, and you just have to enable developer mode and connect your Android device with an USB cable to get Windows to install the Android Debug Bridge driver.

Online Delphi 11 update training – 12 augustus 2022

Het doel van deze 1 daagse training is om met de getoonde nieuwe technieken in een handomdraai uw Delphi applicaties veiliger, sneller en toegankelijker te maken met Delphi 11 Alexandria.

Een handgreep uit de onderwerpen:

Verbeter je GDPR/AVG compliance met password hashing, verminder fouten met inline variables in een for loop en neem afscheid van unit initialization en finalization met class constructors.

Voeg High-DPI en multi-monitor support toe aan je applicatie, noodzakelijk voor de moderne (thuis)werkplek, maar zorg er gelijk ook voor dat deze goed draait in virtualisatie omgevingen.

Maak tevens een eenvoudige web service bij je applicatie en zo maak je je applicatie open voor de wereld.

Deze één daagse online training kan gevolgd worden met Delphi 11.1 Professional of Enterprise, op je eigen laptop. Het grootste deel van de training gebruikt het VCL desktop framework met een kleine uitstap naar het FireMonkey framework.

De training zelf doen we online in Microsoft Teams. Je kunt deelnemen vanuit een web browser (Edge of Chrome), maar als je vooraf de Microsoft Teams desktop software installeert heb je net wat meer mogelijkheden. Tijdens de training is ook 1 op 1 overleg met de trainer mogelijk. Delen van video is gezellig, maar uiteraard niet verplicht. Verder ontvangt je trainingsmateriaal en hebben we uitgewerkte broncode en oefeningen.

Inschrijven kan hier, daar vindt je ook de agenda:

Happy Birthday Delphi !

Delphi 27th birthday

Happy Birthday Delphi !

On Monday the 14th of February Delphi turns 27, #Delphi27th. The current version of Delphi is Delphi 11 Alexandria, named after the famous Alexandria library. As I’ve been developing Delphi code for some years now, I’ve also collected a library of code snippets and I would like to share the idea of creating your own library of code snippets with you.

What are code snippets?

Wikipedia defines a code snippet as a small region of re-useable source code. In Delphi these re-usable snippets can be found under Live Templates, and under several other aspects of Code Completion. My own code snippets however have a  broader scope and they range from one-liners to complete design patterns and even (partial) frameworks. Sometimes a code snippet illustrates a corner case that I’m bound to forget otherwise, sometimes it’s a complete base version for creating a REST based web service or a design pattern for graceful termination of Task based multithreading.

Code snippets are really very personal and usually just useful for you and they do not need to hold up to public scrutiny. They are mostly placeholders for your knowledge, your personal library which only you know and use. For me they are also a toolbox with ready made algorithms or solutions to common coding challenges.

Maybe the idea of collecting code snippets and building your own personal Alexandria library of knowledge appeals to you as well. If so, take a look at the short video on the subject and start collecting!

Delphi Code Snippets video

Click to start the YouTube video on Code Snippets

Slides of this video and the source of DoubleTrouble and EZeroDivide can be downloaded here. The WinRAR archive has Delphi27 as password protection.

Don’t forget to join the Delphi27th Anniversary webinar on Monday at 17:00 CET with Jim McKeeth, Marco Cantu, David Millington and Ian Barker.

Egyptian Basbousa

for Alexandria we made Egyptian Basbousa

Delphi 11 VCL Essentials training – 16-18 maart 2022

Volgende maand staat een driedaagse Delphi 11 Alexandria VCL Essentials training in de planning, op woensdag 16 maart tot en met vriidag 18 maart in de historische locatie van kasteel Montfoort.

Deze nederlandstalige training is bedoeld voor coders en developers met enige ervaring in programmeren in Delphi of een andere programmeeromgeving die graag snel en goed Delphi willen leren of beter leren kennen. We beginnen met een overview van alles wat je met Delphi en de VCL kunt, maar gaan ook in op details als de event-loop en de interne werking van de VCL (visual component library) en RTL (run-time library). In de driedaagse training leer je direct al om Windows applicaties te maken met Delphi, maar ook leer je gebruik maken van een database via FireDAC. Verder in-memory en local data, debugging, Windows-11 styling en zelfs wat generics en andere moderne code constructs van Delphi 11.

Inschrijven en details van de agenda van de trainingen vindt je hier:

DelphiCon 2021 16,17,18 november 2021


Delphi conference 2021

De Delphi Conference 2021 begint vanmiddag al, dus registreer nu op https://delphicon.embarcadero.com/ en na de registratie boek dan ook je early bird pass op https://delphicon.embarcadero.com/checkout/select-tickets/

Veel bekende sprekers en enkele heel interessante sessies. Het hele schema vindt je hier https://delphicon.embarcadero.com/schedule/

Mocht je later willen kijken in de replays, registreer dan toch vandaag en koop ook voor 0$ je early bird pass. Alleen dan zijn de replays namelijk vrij toegankelijk.


Learn to Code Summer Camp 2021 – 26 juli tm 30 juli

Embarcadero Summer Camp 2021The Learn to Code Summer Camp is all about learning to program. The content is aimed at people with little to no previous programming experience, or maybe someone who wants to pick up a new language. If that sounds like you, then visit the info page.

The main event starts at 19:00 (CEST / Europe) today, so register now for your training as a developer to begin.


Delphi Web Service articles in Blaise Magazine

Two of my Delphi web service articles have been published in Blaise Pascal Magazine and a third one is coming up.

This series of articles is about writing your own web services server and client in Delphi. The approach of all articles is pragmatic. The first article introduces some of the concepts you need to know and shows you how to create and consume your own web service in Delphi. This second article shows you how to update the data in the web service and how to create in-memory storage for the web service. There is even some JavaScript that shows you how to use the web service from a HTML page.

Creating a web service is a simple and straightforward way to share Delphi application data with third-party software vendors. It’s easy to create one, and it supports the standard features of REST web services with industry standard JSON.

Blaise Pascal Magazine appears 10 times a year, each issue has at least 100 pages with articles on Delphi and Lazarus. The latest issue is #93, as noted with Web Service Part 2 Storage by Danny Wind, but also with ORM in kbmMW #3 Copying a table from one database to another by Kim Bo Madsen. The best choice for getting your Blaise Pascal Magazine issues is a subscription.

Delphi 10.4.2 Sydney Webinar 18 maart 2021

Delphi 10.4.2 build native apps fasterSamen met Barnsten nemen we op donderdag 18 maart 2021 om 15:00 een praktische kijk naar de hoe je de nieuwste features van Delphi 10.4.2 Sydney kunt toepassen.

We gaan hier dieper in op meerdere onderwerpen; zoals MSIX support en hoe dit werkt aan de binnenkant, via een TNumberBox wisselkoersen demo met live koersen van de ECB. Hoe je de nieuwe EdgeViewer2 support in een applicatie inbouwt en volledig embedded deployed als onderdeel van een MSIX package. Wat de aandachtspunten zijn voor Android 11 compatibiliteit. Verder kijken we ook nog nader naar de updates in de LSP met praktische tips en nog wel meer onderwerpen. Vergeet ook niet de Q & A aan het einde, waarin je al je (Delphi) vragen kunt stellen.

Meer info en inschrijven kan met deze link::

Webinar: Praktische kijk op de nieuwe Delphi 10.4.2 Sydney versie

Online Delphi FireMonkey en Android Power training – 4 en 5 maart 2021

Altijd al een App willen maken in Delphi? Schrijf je dan nog deze maand in voor de online Delphi FireMonkey en Android Power training.

In de eerste dag, op 4 maart, behandelen we het FireMonkey framework. De aanpassingen ten opzichte van het VCL framework en de best use scenario’s voor het maken van een nieuwe FireMonkey desktop application. Denk aan visualisatie, het gebruik van livebindings (loose coupling) en asynchrone execution om de GUI snel en responsive te houden.

In de tweede dag, op 5 maart, gaan we over naar mobile development. Een deel van de training is algemeen voor Delphi mobile App development, met als focus Android development. Hiervoor is een voor Delphi development geschikt Android device noodzakelijk, zie hier voor de requirements. Download ook eventueel vooraf aan de training de benodigde USB debug drivers voor je Android device. In de training behandelen we mobile templates, local storage, maar ook web services en interactie met Java en het nieuwe permissions framework van Android.

De training kan gevolgd worden met Delphi 10.4 Professional of Community Edition. Voor Android 11 compatibility raden we de laatste versie aan van Delphi 10.4. In een klein deel van de training is er een keuze tussen Delphi 10.4 Enterprise code of Delphi 10.4 Professional code.

De training zelf doen we online in Microsoft Teams. Je kunt deelnemen vanuit een web browser (Edge of Chrome), maar je kunt ook de Microsoft Teams client installeren voor meer mogelijkheden. Tijdens de training is ook 1 op 1 overleg met de trainer mogelijk. Delen van video is gezellig, maar uiteraard niet verplicht. Verder ontvangt u per post een hardcopy van het trainingsmateriaal.

Inschrijven kan tot en met 28 februari: