Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Fearless Cross-Platform Development with Delphi
Fearless Cross-Platform Development with Delphi

Fearless Cross-Platform Development with Delphi: Expand your Delphi skills to build a new generation of Windows, web, mobile, and IoT applications

eBook
€22.99 €32.99
Paperback
€41.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
Table of content icon View table of contents Preview book icon Preview Book

Fearless Cross-Platform Development with Delphi

Chapter 1: Recent IDE Enhancements

Delphi is not just a language, nor just an Integrated Development Environment (IDE), nor just a toolset or programming environment, but all of that and more. Starting in the early 1980s with Turbo Pascal shipping on a single floppy disk, it has grown to be a powerful suite of libraries, tools, connected services, and integrated components that support virtually every computing platform. And as with most technological tools, Delphi is constantly growing, improving, and adding features.

This first chapter will give you a quick recap of all that the IDE encompasses and what new features you may have missed in the last few versions. Some of these are just for convenience, such as quickly locating a unit in Windows Explorer, or jumping to a method with the navigation toolbar. There are visual improvements with high DPI support, a new dark mode, and structural highlighting options. You'll be more efficient with faster loading times, greatly improved Code Insight features, and editor tricks such as bookmark stacks. Finally, you will understand your code better with add-ons, such as Project Statistics and Toxicity Metrics.

You will read about all of these and more in the following sections of this chapter:

  • Understanding the Delphi IDE
  • Delphi 10 Seattle
  • Delphi 10.1 Berlin
  • Delphi 10.2 Tokyo
  • Delphi 10.3 Rio
  • Delphi 10.4 Sydney

Understanding the Delphi IDE

The idea of combining the editing, compiling, and managing of project files within one integrated programming application started way back in the 1970s, but didn't really catch on in the PC arena for quite some time. Borland Pascal, the pre-cursor to Delphi, pioneered many facets of an IDE in the creation of Disk Operating System (DOS) applications and took many of its features and user interface constructs with it to the Windows desktop.

At its core, an IDE needs to assist the developer in managing a software project's many moving parts: editing source code, crafting user interfaces, managing project parameters, compiling the application and resources, testing and debugging, and preparing a deployable application. These vary from language to language, so an IDE needs to understand the tools that it supports very well—and the developers who use it.

Delphi's IDE, like many other modern tools, has a rich code editor with syntax checking and color schemes, resizable window panes, structure and object views, data and source repository connections, and the ability to save various configurations for different needs. Here are the various windows and views you'll find in Delphi:

  • Code Editor: The main focal point for writing code.
  • Project Manager: Combine files necessary for compiling a project.
  • Object Inspector: Access properties and events of components.
  • Structure Pane: View and organize components hierarchically.
  • Tool Palette: Component list.
  • Message Window: Compilation output, search results, and more.
  • To-Do List: Parsed TODO comments from the code are neatly displayed here.
  • Templates: Macros for expanding frequently typed patterns of code.
  • LiveBindings Designer: Visually build data connections between components.
  • Class Explorer: Tree view of the classes in the current unit.
  • Data Explorer: View data and manage connections from dbExpress or FireDAC sources without leaving the IDE.
  • Model View: Manage object models of your data.
  • Other Debugger views: Call Stack, watches, local variables, breakpoints, Threads, events, Modules, and CPU windows.

The following screenshot shows these windows and views in the Delphi IDE:

Figure 1.1 – The Delphi 10.4 Sydney IDE showing several available window panes

Figure 1.1 – The Delphi 10.4 Sydney IDE showing several available window panes

Let's look at some of these in a little more detail.

Like most popular code editors that developers use these days, there is color syntax highlighting, hotkeys for moving code around, bookmarks, class completion, and template expansion. There is a lot of keyboard backward-compatibility in Delphi (even dating back to the old WordStar days) but also a lot of customization to set up the key combinations that work best for you. Classes and methods can be folded (or "collapsed"), and you can create your own foldable regions. Error insight can alert you to syntactical errors in your code as you type.

The Project Manager can contain a single project or a group of projects, and there are buttons to manage aspects of them with ease—as a group or individually. You can determine where compiled objects will be placed, establish host applications to debug modules, and manage multiple platform configurations here. More on this will be covered in Chapter 2, Delphi Project Management.

The Object Inspector allows you to initialize properties and hook up events of components at design time to save you the trouble of having to write all that out in code. If you build custom components, you can publish your own properties and events, which will also show up here. Plus, you can register your own property editors to provide even greater functionality.

The Structure pane is a handy view of elements that changes depending on the context. When you're in the code editor, it shows the list of classes, methods, and used units in the current unit. When you're in the form designer, it shows a tree view of the components on the form that can be rearranged by dragging them with the mouse to a different place on the hierarchy (with some obvious parent-container restrictions; for example, a panel can contain a label, whereas a label cannot contain a panel). Double-clicking one of these elements takes you to that element.

When you're designing a form or data module, you can place items on it from the Tool Palette. This is also context-sensitive, thereby only listing the elements that can be placed on the current form. For example, only FireMonkey components will be available for a FireMonkey form; but database connection components can be placed on a VCL form, a FireMonkey form, or a data module.

When building a project or running other processes, the output will be shown in the Message window. This is often collapsed but expands temporarily at appropriate times. Like most other windows, this pane can be pinned to keep it open and resized as desired. Search results and console application output will show up as tabs here.

The Delphi code editor watches for specific comments that start with TODO: and builds a list from these found in all the units of your project and shows them in a To-Do List window with a clickable checkbox. This allows you to see all the places in your code where you've marked items you need to finish. By double-clicking on the to-do list item, it will take you to that line in the code. When you are finished with the task, click the checkbox in the to-do list and it will mark it as complete by changing the comment from TODO to DONE. (You can also uncheck an item marked DONE and it will turn the comment back to TODO.)

Live templates (shown in the window pane that is simply titled Templates) can speed up coding considerably. They are code macros that can insert text and allow you to fill in the blanks to complete larger constructs with very few keystrokes. They can be set to automatically expand after a certain sequence of letters are typed or manually activated by hitting Ctrl + J. You can create your own or edit the built-in ones.

Some of the first code templates in Delphi were implemented by the popular free IDE plugin, GExperts (sort of a mix of Code Librarian and Code Proofreader) but other products soon introduced their own version. Live templates were added in Delphi 2006.

We'll talk about the LiveBindings Designer in greater detail in Chapter 6, All About LiveBindings, but as a brief overview, this is a visual way to link data between various entities. For example, a form that displays an edit box to type in a name has to load the value from somewhere and also save it when the user is done. Typing code to load and save such elements can become quite tedious. This lets you do it visually.

The Class Explorer (not shown in the previous screenshot) is similar to the Structure pane when viewing code in that they both show a tree view of classes. But while the Structure pane shows more than just classes, it has few options for actually dealing with the classes. That's where the Class Explorer shines—it allows you to view and manage methods, fields, and properties of classes with the mouse. Think of it as a simplified version of ModelMaker Code Explorer if you've ever used that product.

The IDE allows you to save the arrangement of these panes as desktop profiles. You can have several desktop profiles and use different ones for different projects. You can select one to be the default for standard editing and another as the default for debugging—the IDE will automatically switch to the debug desktop when you start an application and switch back to the default one when it's finished.

Here's an example of what the IDE could look like while debugging:

Figure 1.2 – Debugging an application in Delphi 10.4

Figure 1.2 – Debugging an application in Delphi 10.4

As you can see, the Delphi IDE is center-stage in the development process of creating and managing Delphi projects. Since no two developers work the same way, its flexibility, customization, and the wide variety of built-in tools help make this environment a powerful tool.

Now that you've had a glimpse of what the IDE is, let's step back a few versions, highlighting some of the changes it has undergone.

Delphi 10 Seattle

The Delphi XE series broke ground in many ways, not least of which was the FireMonkey GUI to support mobile devices. Updates were fast and furious, and some complained it was hard to keep up with them. XE8 was the last of this line and introduced a new Welcome screen that has carried through to the current version. Delphi 10 Seattle started the "10" series in August 2015 and was named, at least in part, to coincide and align itself with Windows 10.

There weren't any ground-breaking IDE features introduced in the first of the Delphi 10 series, but several important improvements were made in project loading speed, support for large project groups, and high DPI support, especially notable when working with forms at different DPIs. Several menu items were moved for better organization and simplification, and an Editor submenu was added to contain the editor's context menu items. The nicest new feature of the IDE was a convenient Show in Explorer menu item, which will open File Explorer for a file or folder in the Project Manager, as shown:

Figure 1.3 – Delphi 10 Seattle "Show in Explorer" from Project Manager

Figure 1.3 – Delphi 10 Seattle "Show in Explorer" from Project Manager

If you ever purchased the Castalia for Delphi suite of IDE tools from TwoDesk Software, you may recall several nifty features that they added to Delphi. Embarcadero had just acquired Castalia and quickly incorporated many of those features into the editor. These include the following:

  • MultiPaste: Pops up a window allowing you to add text before and after each line before pasting (really handy for copying SQL or HTML into your code).
  • Project Statistics: Informs you of the time spent in various parts of the IDE, such as designing and editing.
  • Navigation Toolbar: A nice way to view and jump to files in the project and sections within the file.
  • Sync Prototypes: Make a change to the parameters in the declaration of a class method and it applies those same changes to the implementation.
  • Structural Highlighting: Draws lines in the editor to visually depict blocks of code.
  • Smart Keys: Adds editor shortcuts, including a fast way to surround code with braces and parentheses.

All of these features have added settings in the options pages.

Other additions included are the following:

  • Automatic recovery of files if the IDE crashes while editing
  • Being able to change the font size quickly with Ctrl + Num+ and Ctrl + Num-
  • The ability to enable High-DPI Awareness in your VCL application
  • Several improvements to the Object Inspector, structure view, and the Select Directory dialog
  • A new option to hide non-visual components
  • Improved memory management allowing the IDE to use up to 4 GB of RAM (up from 2 GB previously)
  • Better support for importing old projects even as far back as Delphi 1

Finally, there were several mobile enhancements, as well including a new Android Service project type, background execution on iOS, and an option to allow iOS 9 applications to access non-SSL URLs.

Delphi 10.1 Berlin

The IDE for Delphi 10.1 Berlin released in April 2016 had quite a few enhancements. In all previous versions of Delphi, units with forms shared the same IDE window—you had to switch between code and form design mode. Finally, in Delphi 10.1 Berlin, using an Embedded Designer is now an option in the Form Designer section of the Tools | Options dialog. Switching this option off allows you to move a floating window for both the VCL and FireMonkey form designers separately from the code editing window.

FireUI Live Preview is an amazing new tool that gives FireMonkey application designers the ability to preview and debug their user interfaces in real time on remote devices. The IDE acts as a "client" that communicates with a Platform Assistant Server you need to install on the target device, which connects over a local network or a connected USB cable. The server capability is built into the Windows IDE, and PAServer for Windows, Linux, and OS X is included with the Delphi installation. Details on setting this up will be explained in Chapter 4, Multiple Platforms, One Code Base.

GetIt Package Manager was introduced a few versions back and allows quick access to open source, trial, and commercial components, program templates, and styles. In Delphi 10.1 Berlin, the Project Options dialog window gained a new section called GetIt Dependencies. Here, you can check off one or more GetIt packages that are used in your project. Then, when you open a project where one or more of those marked GetIt packages are not installed, you'll get a message that the project has dependencies that are not installed.

NOTE

If any of these dependencies are not installed when you try to build your application and you get an MSBuild error stating the GetItCmd task failed unexpectedly, you need to add an environment variable (Tools | Options | Environment Variables): New Variable: Name = "BDSHost" and Value = "true".

If you ever purchased the Castalia for Delphi suite of IDE tools from TwoDesk Software, you may recall several nifty features they added to Delphi. Embarcadero acquired Castalia in 2015 and has incorporated many of those features into Delphi 10 Seattle, as previously noted. One of my favorites is bookmark stacks. This allows you to drop a temporary bookmark in your code, go to another section of code, or even another file, then recall the temporary bookmark to jump right back to where you were coding, cleaning up the temporary bookmark. However, you may want to customize the default keys for this as it uses a difficult key sequence to drop (Ctrl + K and Ctrl + G) and pick up (Ctrl + Q and Ctrl + G) the bookmarks.

NOTE

In the Delphi 10.3 Rio section, you'll learn about the Navigator plugin that has been added that provides nice keyboard shortcuts for this feature.

If you're most efficient when keeping your hands on the keyboard, you may really like Selection Expansion. This allows you to click Ctrl + W in the code, and with repeated clicks of Ctrl + W, expand the selected text to increasingly larger code blocks, starting with the current identifier and moving up to statement, line, block, method, and so on.

There's a new menu item under Projects called Method Toxicity Metrics that gives you statistics about the procedures and functions in the active project and that may indicate good candidates for refactoring. You can export these metrics and customize thresholds under Tools | Options | Toxicity Metrics.

Other improvements include more support for Android services, Android smart watches, iOS ad hoc applications, CPU view support for iOS and Android, a new File Associations page on the Options window, and the ability to show or hide the Navigation Toolbar. Finally, the IDE is now DPI-aware.

Delphi 10.2 Tokyo

The frequency of updates finally started slowing back to a reasonable pace with the release of Delphi 10.2 Tokyo in March 2017, and a long-anticipated feature request finally made it into the second release 9 months later: a dark theme! While you could change the colors of many of the IDE components in previous versions (and, in fact, there were "dark themes" already available in the popular Delphi Theme Editor), they mostly affected the code editor—the core of the IDE was still based on the typical Windows standard look with a white background. With the dark theme enabled, menus, dialogs, edit boxes, and more are themed around a dark set of colors, which many people find reduces eye strain when working at a computer for long hours or late at night when there's less light. If you want to switch themes for different hours of the day, it's a quick mouse click from the desktop toolbar:

Figure 1.4 – The Delphi 10.2 Tokyo desktop toolbar showing quick toggle between the Dark and Light themes

Figure 1.4 – The Delphi 10.2 Tokyo desktop toolbar showing quick toggle between the Dark and Light themes

The third release of Delphi 10.2 improved both the light and dark themes with cleaner lines and aligned controls. Several items in the Options box were moved for better categorization and the whole interface became more readable. The currently focused area was made more prominently displayed and some window panes were renamed:

Figure 1.5 – Delphi 10.2 Tokyo using the Dark theme

Figure 1.5 – Delphi 10.2 Tokyo using the Dark theme

The preceding screenshot shows how the IDE looks in dark mode.

Delphi 10.3 Rio

In November 2018, the first release of Delphi 10.3 Rio was made available. Besides improvements in themes, cleaner lines, aligned controls, better tab-readability, and clearer window focus changes, there were no major changes to the IDE in any of the three releases of Delphi 10.3 Rio. That's not to say this was not a significant version, as there were several language and library features added, which we will cover later.

One nice improvement can be seen in the New Items list (from the menu, go to File | New | Other). It changed to present a scrollable list of items with full descriptions and larger icons and titles giving more information about what you're about to create. Some items are now in multiple categories, such as the FireMonkey Metro UI application, which is in both the Multi-Device and the Windows categories. These are great aids in helping you find the item you want.

GetIt Package Manager was improved in a similar fashion to show items in a scrollable list. Other aspects of its interface were improved as well:

Figure 1.6 – Delphi 10.3 Rio's improved New Items list

Figure 1.6 – Delphi 10.3 Rio's improved New Items list

The categories in both the general and project options have been reworked, with some new ones introduced and others moved around. For general IDE options, this has shortened the list, but more importantly, the full list of categories is no longer fully expanded, making it much more manageable. One big change to the recategorization is that the Delphi section (with library paths and Type Library options) has been pulled out of Environment and is now under its own Language category (which actually makes much more sense).

Many Delphi users have included Andreas Hausladen's IDE Fix Pack as part of their Delphi install routines over the years. Some of those fixes are now part of Delphi 10.3 Rio.

Finally, some speed enhancements have been made, including loading forms with LiveBindings.

There were a couple of nice IDE plugins added to GetIt Package Manager that should be mentioned: Bookmarks and Navigator. Both of these were acquired by Embarcadero from Parnassus.

Bookmarks extends Delphi's bookmark stacks feature introduced in 10.1 Berlin with unlimited temporary bookmarks and much more convenient hotkeys (F2 to set, and Esc to pop back and remove), along with a dockable window to list them within context.

Navigator provides a hotkey (Ctrl + G) that pops up a list of quick places you might need to jump in your code, such as the interface Uses section or the declaration for a field. With a few keys of incremental search or a couple of down arrows, you can hit Enter to go there immediately, then after you're done and want to get back to where you were, simply hit Esc! It's a beautiful marriage with the Bookmarks feature. But wait, there's more! Additionally (and optionally), Navigator also provides a resizable mini-map of your code on the right-hand side of the code editor that not only gives you a glimpse of where you are in the current unit but also allows you to click and drag to view a different portion of the unit without changing your current cursor position.

NOTE

One important note before we move on to the latest version of Delphi is that the Integrated Translation tools will no longer be improved and developers are warned to migrate to a different set of translation tools if they are being used.

Delphi 10.4 Sydney

After 2 years of updates to the previous version of Delphi, 10.4 Sydney was finally released in May 2020. One important change for this version is that it now requires a 64-bit version of Windows 10. Running the IDE is no longer supported on any prior version of Windows (what this means is that while it might be technically possible to install Delphi 10.4 on an earlier 64-bit version of Windows, it is not recommended and you may encounter problems in some aspects of working with it—you have been warned!). For most developers, this won't require a new computer but it is a big step for the IDE—even though at its core, it is still a 32-bit application!

You can still target 32-bit operating systems of Windows, but 32-bit macOS and iOS devices have been removed (although when using the iOS simulator, it's still 32-bit). Android 64-bit and 32-bit devices are supported for the Android API versions 6 through 10.

Delphi 10.4 is now only supported on 64-bit Windows 10:

Here's a list of target devices supported by Delphi 10.4:

One significantly improved feature is Code Insight. This is a set of useful typing helpers in the code editor and includes Code Completion, Code Parameter Hints, Code Hints, Block Completion, Help Insight, Class Completion, Error Insight, and Code Browsing. Often, parts of it are disabled because it can slow down coding, especially on large projects or slow machines as it precompiles and looks up identifiers in related units to help you type faster and catch errors on the fly.

In Delphi 10.4, these tools have been off-loaded from bogging down the editor to a separate server process that communicates with the IDE asynchronously using a Language Server Protocol (LSP). The Code Insight settings are now defined per language in the Options windows. What's more is that Code Insight now also works while debugging!

Reporting bugs must be done manually now. If you get an IDE exception, you can save the error report to a file, then go to https://quality.embarcadero.com and submit a problem discussion, along with the saved error report.

If you have ever gotten tired waiting for the Options screen to open, you will be happy to know that it opens faster now. There's a constructor for each page, which is now delayed until the page is shown.

Scrolling in GetIt Package Manager has been greatly improved with a single tweak. The list position now stays on the item just installed, so you can immediately go to the next one in the list instead of scrolling back down from the top as in previous versions. This was a great annoyance when installing a long list of styles.

There are three new convenience features in Delphi 10.4's code editor status bar:

  • Syntax Highlighter: If you work in multiple languages, the syntax checker for the current language is displayed and you can click it and switch to a different language. This supports more than just Delphi and C++. The IDE might become your default editor to work on SQL, PHP, INI, CSS, HTML, and other supporting files, centralizing your editing tasks:
Figure 1.7 – Override the default syntax checker selected for the current file

Figure 1.7 – Override the default syntax checker selected for the current file

  • File Encoding: Your current file's encoding is now displayed and can be changed. This could be quite handy when working with XML files—another aid to keep all your files in the IDE:
Figure 1.8 – Switch file encoding quickly

Figure 1.8 – Switch file encoding quickly

  • Font size: There's now a trackbar in the status bar with increase/decrease buttons to allow you to adjust the font size. Clicking Ctrl + Num+ and Ctrl + Num- still do the same thing:
Figure 1.9 – Visually change the font size in the editor

Figure 1.9 – Visually change the font size in the editor

Another notable change is that the clipboard history (added in Delphi 10 Seattle as part of the Castalia integration) has been removed, partially for security reasons and partially because if you copy very large amounts of data to the clipboard, it could potentially crash the IDE.

The Welcome page, which was drastically changed in Delphi XE8 and was cluttered with advertising, events, and more, now shows three columns of links:

  • Creating new projects, opening existing ones, and links to Platforms and Extensions Manager and GetIt Package Manager
  • Favorite and recent project listings
  • YouTube Video Channel

Here is what it looks like:

Figure 1.10 – The default Welcome screen in Delphi 10.4

Figure 1.10 – The default Welcome screen in Delphi 10.4

If this is still too much, you can modify the web page and take out what you feel is unnecessary. The Welcome page is simply a local web page in your Delphi installation's Welcomepage folder. Choose the subfolder for your language (for example, en for English) and make sure you run your editor as Administrator if Delphi is installed under the standard Program Files (x86) protected folder structure. Then, after making a backup of the files there, simply modify the HTML, JavaScript, and CSS to your heart's content!

There are several other minor improvements in speed and control-painting and placement, in addition to several bugs fixed. The IDE now uses native VCL controls, which resolves a few display issues.

Summary

In this chapter, we reviewed everything Delphi's IDE has to offer, then, after touching on the XE series, highlighted the improvements in Delphi versions 10 Seattle, 10.1 Berlin, 10.2 Tokyo, and 10.3 Rio, and finally covered the major enhancements to the newest version of Delphi, 10.4 Sydney.

The Delphi IDE is a powerful developer tool and grows in capability with every version. As technology continues to evolve, the feature set changes accordingly to embrace the software build processes for today's complex needs and the plethora of devices to support.

With a thorough knowledge of the IDE comes increased productivity through efficient use of the keyboard, proper window placement, customized colors and fonts, handy tools, and useful add-ons. Those who take the time to develop proficiency in this toolset will be valuable assets to their employers and clients as they build great products.

Now we're ready to use this tool as we create projects of all kinds. Keep reading to learn about the possibilities!

Questions

  1. What is the difference between the Structure pane and the Class Explorer?
  2. How can the IDE help locate a project file in Windows Explorer?
  3. Where are auto-recovery files saved?
  4. How do you hide non-visual components?
  5. When should you add GetIt dependencies?
  6. Can you quickly switch between light and dark modes?
  7. What is LSP?
Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Implement Delphi’s modern features to build professional-grade Windows, web, mobile, and IoT applications and powerful servers
  • Become a Delphi code and project guru by learning best practices and techniques for cross-platform development
  • Deploy your complete end-to-end application suite anywhere

Description

Delphi is a strongly typed, event-driven programming language with a rich ecosystem of frameworks and support tools. It comes with an extensive set of web and database libraries for rapid application development on desktop, mobile, and internet-enabled devices. This book will help you keep up with the latest IDE features and provide a sound foundation of project management and recent language enhancements to take your productivity to the next level. You’ll discover how simple it is to support popular mobile device features such as sensors, cameras, and GPS. The book will help you feel comfortable working with FireMonkey and styles and incorporating 3D user interfaces in new ways. As you advance, you’ll be able to build cross-platform solutions that not only look native but also take advantage of a wide array of device capabilities. You’ll also learn how to use embedded databases, such as SQLite and InterBase ToGo, synchronizing them with your own custom backend servers or modules using the powerful RAD Server engine. The book concludes by sharing tips for testing and deploying your end-to-end application suite for a smooth user experience. By the end of this book, you’ll be able to deliver modern enterprise applications using Delphi confidently.

Who is this book for?

This book is for Delphi developers interested in expanding their skillset beyond Windows programming by creating professional-grade applications on multiple platforms, including Windows, Mac, iOS, Android, and back-office servers. You’ll also find this book useful if you’re a developer looking to upgrade your knowledge of Delphi to keep up with the latest changes and enhancements in this powerful toolset. Some Delphi programming experience is necessary to make the most out of this book.

What you will learn

  • Discover the latest enhancements in the Delphi IDE
  • Overcome the barriers that hold you back from embracing cross-platform development
  • Become fluent with FireMonkey controls, styles, LiveBindings, and 3D objects
  • Build Delphi packages to extend RAD Server or modularize your applications
  • Use FireDAC to get quick and direct access to any data
  • Leverage IoT technologies such as Bluetooth and Beacons and learn how to put your app on a Raspberry Pi
  • Enable remote apps with backend servers on Windows and Linux through REST APIs
  • Develop modules for IIS and Apache web servers
Estimated delivery fee Deliver to Romania

Premium delivery 7 - 10 business days

€25.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Oct 22, 2021
Length: 544 pages
Edition : 1st
Language : English
ISBN-13 : 9781800203822
Category :
Languages :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
Estimated delivery fee Deliver to Romania

Premium delivery 7 - 10 business days

€25.95
(Includes tracking information)

Product Details

Publication date : Oct 22, 2021
Length: 544 pages
Edition : 1st
Language : English
ISBN-13 : 9781800203822
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 116.97
Delphi Programming Projects
€32.99
Delphi GUI Programming with FireMonkey
€41.99
Fearless Cross-Platform Development with Delphi
€41.99
Total 116.97 Stars icon

Table of Contents

21 Chapters
Section 1: Programming Power Chevron down icon Chevron up icon
Chapter 1: Recent IDE Enhancements Chevron down icon Chevron up icon
Chapter 2: Delphi Project Management Chevron down icon Chevron up icon
Chapter 3: A Modern-Day Language Chevron down icon Chevron up icon
Section 2: Cross-Platform Power Chevron down icon Chevron up icon
Chapter 4: Multiple Platforms, One Code Base Chevron down icon Chevron up icon
Chapter 5: Libraries, Packages, and Components Chevron down icon Chevron up icon
Chapter 6: All About LiveBindings Chevron down icon Chevron up icon
Chapter 7: FireMonkey Styles Chevron down icon Chevron up icon
Chapter 8: Exploring the World of 3D Chevron down icon Chevron up icon
Section 3: Mobile Power Chevron down icon Chevron up icon
Chapter 9: Mobile Data Storage Chevron down icon Chevron up icon
Chapter 10: Cameras, the GPS, and More Chevron down icon Chevron up icon
Chapter 11: Extending Delphi with Bluetooth, IoT, and Raspberry Pi Chevron down icon Chevron up icon
Section 4: Server Power Chevron down icon Chevron up icon
Chapter 12: Console-Based Server Apps and Services Chevron down icon Chevron up icon
Chapter 13: Web Modules for IIS and Apache Chevron down icon Chevron up icon
Chapter 14: Using the RAD Server Chevron down icon Chevron up icon
Chapter 15: Deploying an Application Suite Chevron down icon Chevron up icon
Assessments Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5
(2 Ratings)
5 star 50%
4 star 50%
3 star 0%
2 star 0%
1 star 0%
Roman Sep 21, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I can recommend this book to every Delphi programmer who wants to extend his knowledge on cross platform development. Every chapter is worth reading, starting from the new IDE features I didn't hear about before. It saved me hours of work. The only disadvantage - it does definitely not blame the author - it is not a timeless book. Some things have changed and are different in recent Delphi (Android, iOS) releases. One chapter is missing that I was expecting: A detailed description how to change the used Android API level is not part of the book. Looking forward for a reissue.
Amazon Verified review Amazon
Gregory E Bailey Oct 22, 2021
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Fearless Cross-Platform Development with Delphi has treasure trove of information contain over 500 pages. I applaud the author, there are code examples, step by step instructions, images and my favorite questions and further reading sections at the end of each chapter. One can tell that the author is enthusiastic about his subject matter, this was a pleasure to review. I used Delphi 10.4 Community Edition while reviewing, due to time constraints I only reviewed sections 1, 2 and 3. In addition, if the subject matter was not Windows and/or Android I skipped over those sections.I can highly recommend this book and would give it 4 stars; My one suggestion would be to move section 1 to the end but before Assessments.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela