Foundation · Libraries · Tips & Tricks · Uncategorized

Build your own Error Reporter – Part 3: macOS Intel

A while ago, I started a small series about trapping exceptions and turning them into an error report for consumption by your development team. This enables you to get information about errors that happen out “in the field”. The first part focused on the iOS platform and the second part on Android. In this part… Continue reading Build your own Error Reporter – Part 3: macOS Intel

Libraries · Optimization · Uncategorized

High-Precision Floating-Point Types for Delphi

If Single and Double precision floating-point types don’t cut it for you, then the Neslib.MultiPrecision library may be just the thing. It provides up to 4 times the precision, while still being pretty fast compared to arbitrary precision libraries. Neslib.MultiPrecision Neslib.MultiPrecision is a personal project that adds two additional floating-point types for use with Delphi.… Continue reading High-Precision Floating-Point Types for Delphi

Uncategorized

Deployment Manager now Open Source

The Grijjy Deployment Manager (DeployMan) is a tool to simplify the deployment of files and folders for iOS and Android apps written in Delphi. It is especially useful if you need to deploy a lot of files, such as 3rd party SDKs. Information and Usage The Deployment Manager (DeployMan) was first introduced in the blog… Continue reading Deployment Manager now Open Source

Libraries · Optimization · Tips & Tricks · Uncategorized

An XML DOM with just 8 bytes per node

I present a small XML library that parses or creates XML documents with an extremely light-weight DOM that uses just 8 bytes per node. This post shows some of the interesting algorithms that make this possible. Another XML Library? I know what you are thinking: not another XML library! And you would be right, especially… Continue reading An XML DOM with just 8 bytes per node

Foundation · Patterns · Tips & Tricks · Uncategorized

Custom Managed Records for Smart Pointers

In this 3rd part in (what turns out to be) a series about Custom Managed Records, we take a look at how they can be used to create smart pointers. About Smart Pointers But first we have to get some terminology straight. Smart Pointers is an umbrella term behind different technologies for making it easier… Continue reading Custom Managed Records for Smart Pointers

Foundation · Patterns · Tips & Tricks · Uncategorized

Automate Restorable Operations with Custom Managed Records

There are those common try..finally blocks that you write over and over again. For example entering and leaving a critical section to protect resources from multiple threads, or calling BeginUpdate and EndUpdate to efficiently bulk-update a FireMonkey control. These kinds of “restorable” operations can be automated with the new Custom Managed Records feature introduced in… Continue reading Automate Restorable Operations with Custom Managed Records

Libraries · Tips & Tricks · Uncategorized

Wrapping C(++) APIs with Custom Managed Records

Delphi 10.4 introduced Custom Managed Records. In this post we show how you can use this new language feature to wrap third party C(++) APIs in an easy to use model. We also compare this method to some other ways you may have interfaced with C(++) in the past. Ways to interface with C(++) For… Continue reading Wrapping C(++) APIs with Custom Managed Records

Optimization · Tips & Tricks · Uncategorized

Boost Mac performance with Metal and Delphi 10.4

Is your Mac app a little unresponsive or does it feel sluggish? Does your MacBook laptop turn into a lap-heater when running your app? Then the new Metal support in Delphi 10.4 may be just the thing for you and your customers! I have been given permission by Embarcadero to blog about this new feature… Continue reading Boost Mac performance with Metal and Delphi 10.4