Logging in Android

From the Code Partners blog:

RAD Studio’s ability to do remote debugging of Android apps on device is fantastic for tracking down issues. However sometimes you have issues where the debugger can’t help. Case in point is one of the projects we were doing for a customer recently. The Android portion included a Service, which needed to be auto-started when the Android device booted. It worked fine if it was started manually, but auto-starting at boot resulted in a  crash. We couldn’t use the RAD Studio debugger as it was all over so quickly at boot time. Fortunately we were already logging messages out to the Android logs from within our app, so we were able to track down the problem. How?

Read more…

Expired Apple Intermediate Certificates and RAD Studio iOS Development

From the Code Partners blog :

Last week we were doing some updates for a customer on a C++Builder Android and iOS app. The Mac that we were using to do the code signing for iOS hadn’t been used for this before, so we needed to setup the Certificates and Provisioning Profiles for the customer’s account.

I always dread this part, as I’ve found it always takes longer and is more complicated than you expect. I’ve done it enough times now though that I thought I’d struck all the issues, however this time I found a new one that I thought I should document for anyone else (or my future self) who strikes it.


Storing your Objects in a Database

I’ve just begun a series of posts and accompanying videos over at the Code Partners site on using an Object Relational Mapper in Delphi. It starts out simple but over the series I want to delve into exercising more control of how objects are loaded and stored to optimise performance and other requirements. I’m using TMS Aurelius but the concept should apply to any ORM worth its salt.

The first two posts are up, and you can start here.

My Last Day at Embarcadero

I first joined Borland back in 1997. I left for a couple of years in 2000, but was tempted back in 2002, and I’ve been there ever since.

The company name has changed under me a couple of times since of course, but I’ve now spent the last 14+ years working with largely the same bunch of passionate people building tools we love, to help other software developers. There were bad days of course, like any job, but on the good days I couldn’t believe someone was paying me to do it.

Read On…

MVVM and MenialTasks : Why did I use TEnumerableBindSourceAdapter instead of TListBindSourceAdapter?

In the comments over on my old MVVM Resource List post Peter Rosario asked a great question. A question I thought I’d covered in my video but I suspect I might have edited it out in an attempt to fit into the CodeRage time limits. So I thought I’d answer it here.

The question was about my MenialTasks sample app, and why I’d used TEnumerableBindSourceAdapter to bind my collection of TTasks to the UI, rather than the more common TListBindSourceAdapter.

TListBindSourceAdapter has a lot going for it. It comes “in the box”, would certainly have been easier, and would work just fine. Given that, why didn’t I use it? Read On…