Libraries · Tips & Tricks · Uncategorized

Chet – A C Header Translator powered by Clang

In my previous post on libclang for Delphi, I mentioned an obvious use case for libclang: to build a (better) C-to-Pascal header converter. I also suggested I may provide such a tool in the future. Well, the future is here and I put my money where my mouth is. The result is Chet, a sort of… Continue reading Chet – A C Header Translator powered by Clang

Foundation · Tips & Tricks · Uncategorized

Using Apple’s Grand Central Dispatch and Android’s ScheduledThreadPoolExecutor for Delphi timers

You are probably already familiar with the NSTimer on iOS/macOS and JTimer on Android for timer events. In addition to the basic timers, most operating systems offer a more advanced threaded schedule event API. On Android there is the ScheduledThreadPoolExecutor which allows you to launch a Runnable at a specific time period. On iOS/macOS the… Continue reading Using Apple’s Grand Central Dispatch and Android’s ScheduledThreadPoolExecutor for Delphi timers

Libraries · Uncategorized

JavaScripting with Duktape for Delphi

Looking to add JavaScript capabilities to you app, but without the bulk and overhead of JIT engines like V8, SpiderMonkey and Chakra? Then take a look at Duktape. Duktape is a lightweight, embeddable and cross-platform JavaScript engine. It fits into a DLL just over half a megabyte in size but supports the complete ECMAScript 5.1… Continue reading JavaScripting with Duktape for Delphi

Libraries · Patterns · Uncategorized

MVVM Starter Kit (Part 3 of 3)

In this 3rd and final part of the MVVM series we tie everything together by looking at the Views and how to bind controls and actions to their ViewModels. We show that by putting most UI logic in the ViewModel, we can easily create both an FMX and VCL version of the same application with… Continue reading MVVM Starter Kit (Part 3 of 3)

Libraries · Patterns · Uncategorized

MVVM Starter Kit (Part 2 of 3)

In this second part of our MVVM mini series we look at ViewModels and how they can be unit tested. We assume you already read the first part, where we talked about the MVVM pattern and data binding. We discuss ViewModels and Views separately, leaving the discussion of Views to the part 3. Usually, you… Continue reading MVVM Starter Kit (Part 2 of 3)