Book Image

Delphi GUI Programming with FireMonkey

By : Andrea Magni
4 (1)
Book Image

Delphi GUI Programming with FireMonkey

4 (1)
By: Andrea Magni

Overview of this book

FireMonkey (FMX) is a cross-platform application framework that allows developers to create exciting user interfaces and deliver applications on multiple operating systems (OS). This book will help you learn visual programming with Delphi and FMX. Starting with an overview of the FMX framework, including a general discussion of the underlying philosophy and approach, you’ll then move on to the fundamentals and architectural details of FMX. You’ll also cover a significant comparison between Delphi and the Visual Component Library (VCL). Next, you’ll focus on the main FMX components, data access/data binding, and style concepts, in addition to understanding how to deliver visually responsive UIs. To address modern application development, the book takes you through topics such as animations and effects, and provides you with a general introduction to parallel programming, specifically targeting UI-related aspects, including application responsiveness. Later, you’ll explore the most important cross-platform services in the FMX framework, which are essential for delivering your application on multiple platforms while retaining the single codebase approach. Finally, you’ll learn about FMX’s built-in 3D functionalities. By the end of this book, you’ll be familiar with the FMX framework and be able to build effective cross-platform apps.
Table of Contents (18 chapters)
1
Section 1: Delphi GUI Programming Frameworks
4
Section 2: The FMX Framework in Depth
13
Section 3: Pushing to The Top: Advanced Topics

Making custom method calls available

Previously in this chapter, we saw that LiveBindings expressions allow you to access the main subject of the expressions (through the Self variable) to access its properties (that is, the Owner property, to access the underlying TDataSet of a TField component). You've also learned how to call methods using the same notation and expression engine. This mechanism is generic enough that you can usually reach the form (or frame or data module) you have put your BindSource on. This implies you are actually able to reach, for example, your form object (through the ownership chain) and call one of the methods of your form object within a LiveBindings expression.

If you have an expression that you need to bind to a field of a dataset (exposed through a TBindSourceDB component), you are in a situation where you can use the following:

  • Self: This references an instance of TField.
  • Self.Owner: This references the instance of TDataSet that is the owner...