Archive for the ‘FireMonkey’ Category

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.

Running FireMonkey apps on the Beaglebone Black

This is the Beaglebone Black

Beaglebone Black

It’s a single-board computer, about the size of a credit card. It’s powered by an ARM Cortex A8 and includes the NEON floating point accelerator. Happily that matches nicely with the Android device requirements for RAD Studio and AppMethod.

When I saw that, I wondered what it would take to deploy a FireMonkey app to it. Like most things, it’s pretty easy once you know how, but it took me a few false starts to get it all figured out. Further, much of the information online assumes you’ll be doing this from Linux. Given my aim of running FireMonkey apps on the Beaglebone, I really wanted to show the steps from Windows.

So here they are.

Read On…

ShowModal on Android

FireMonkey does a lot of work to allow you to write one set of code that compiles and runs on different platforms.

Not only that, it also does a lot of work to make many of the coding patterns that some of you are used to from the VCL on Windows, work unchanged on other platforms.

That’s great, but in some cases, re-using old patterns is not desirable. ShowModal is a case in point. Read On…

“No Code” Calculated Fields in RAD Studio and AppMethod

In Perth last week I was showing the new FieldOptions property on datasets. As part of the demo, I had to create a calculated field, and when I brought up the New Field dialog an audience member suggested I create an InternalCalc field instead.

I’d never heard of an InternalCalc field at the time, so later I did some research into what they are. In FireDAC they do everything a normal Calculated Field does, but in addition, you can define the value using the DefaultExpression property of the field, rather than having to write an OnCalcFields event handler.

Read On…

Using the FM Messaging System for In-process Publish and Subscribe on Windows, OSX and iOS.

For quite awhile I’ve been using a messaging bus within my apps to de-couple different sub-systems from each other. I use this heavily in my MVVM-based apps to minimise the dependencies between my Views and ViewModels, but it applies to non-MVVM apps of reasonable complexity as well. Read On…

A Facebook-style layout for your mobile app

I’ve been working on a ShowCase App for the Delphi XE4 release, and as part of it I wanted to have a “drawer” layout. I first saw this in the iOS and Android Facebook app, but it has shown up in other apps since.

If you’re not familiar with this, it is where your main content takes up the bulk of the screen, except for a toolbar at the top. The toolbar has a “hamburger” button that slides the main content area over to the right to expose a second content area (often a menu) underneath. Read On…

Cross-platform Special Folders in FireMonkey

There was a question on the ADUG list last week about how to retrieve “special folder” locations on OS X. By special folder, I mean locations like the user’s Home directory, the Documents directory, Temp directory, etc. I thought I’d write up the solution both because it’s probably something that more people will be wondering and also because it’s a nice little introduction to calling out to the OS X API.

If you want either the path to the Home or the Temp directory, this is ridiculously easy. The IOUtils unit already contains TPath.GetTempPath and TPath.GetHomePath, and these work on both Windows and OS X.

However, if you want another directory, such as the Documents directory, you need to do a little more work.

Read On…