Skip to content

How to use Delphi’s anonymous methods and generics in your C++Builder XE8 applications

With the release of C++Builder XE8 and RAD Studio XE8, we have made it even easier for C++ developers to work wth Delphi’s anonymous methods and generics. We have updated the recommended way to handle Delphi anonymous methods in your C++ applications. The revised description, in How to Handle Delphi Anonymous Methods in C++, uses either a Functor (function object) or a Lambda expression. See the code examples on the following RAD Studio XE8 DocWiki pages.

You can also use a lambda wherever an API expects an anonymous method. The DelphiInterface class has been updated to auto-convert to a lambda. This feature can only be used with the Clang-based C++ Compilers. The following example C++ code illustrates use of a lambda.

#include <System.hpp>
#include <System.IOUtils.hpp>
#include <iostream>

int main()
  String ext(".cpp");
  TStringDynArray files = TDirectory::GetFiles(TDirectory::GetCurrentDirectory(),
                          [ext](const String Path, const System::Sysutils::TSearchRec &SearchRec) -> bool
                            return ExtractFileExt(SearchRec.Name) == ext;
  std::cout << "Found " << files.Length
            << " files with ext: '" << AnsiString(ext).c_str() << "'\n";
  for (int i=0; i<files.Length; ++i)
    std::cout << AnsiString(files[i]).c_str() << std::endl;


Where you should post bug reports, ask questions and have conversations about our software development tools

I received an email from a developer asking where he should post questions, report bugs and have converations with other community members. The following the guidance list (zero based of course) I emailed to this developer.

0) for bug reports – please report bugs on our Quality portal at


1) For discreet questions where you are looking for an answer – use the Answers module at:


2) For conversations you want to have with like minded developers – please use our new Embarcadero Community forums at

There are different topics where you can start conversation threads for our developer tools: 


This forum is for discussions about designing user interfaces, creating great user experiences and using visual components.


Use this forum to talk about SQL databases, in memory datasets, XML data, local tables and everything else related to accessing, updating, deleting and working with data.


This forum is the place to discuss enterprise software archictures, enterprise wide systems development. Topics here can include middleware, multi-tier architectures, DataSnap, REST/JSON, Web Services, Web server applications and enterprise wide data servers/services.


This forum is for the discussion of cloud based architectures and applications, Backend as a Service (BaaS) systems, cloud storage, push notifications and other services.


Use this forum to discuss the Integrated Development Environment (IDE), toolchains, integrated and remote debugging and other developer tools.



This forum focuses on programming languages, tips, tricks, techniques,algorithms and best practices. For topics related specifically to the C++ and Object Pascal programming languages, please tag your posts with one or both of the these languages.


3) For installation issues use the following General forum and support site

Installation Issues


This forum is for discussions about general installation topics. For installation and registration support, create a case at (



Cool new articles written by members of the Delphi developer community…

There are cool technical articles appearing all over the Internet including right here on the Embarcadero Community. Here are a few developer tips and tricks articles that are appearing on blogs, web sites and communities that will help you do more with Delphi.

How-To use AdMob Interstitial Ads with Delphi XE7-XE8 by Daniele Spinetti

Daniele’s article shows you how to use Delphi and the Google Mobile Ads SDK (Androidapi.JNI.AdMob Delphi unit) so you can use the new Interstitials Ads provided by AdMob. The article reminds you to set the AdMob entitlements setting and shows you sample code and a screen shot for the sample app.

Unit Testing and Test-Driven Development with TestInsight by David Millington

In this article, David discusses Test Driven Development, how to set up your unit tests and test projects. The article goes on to show you how to use Stefan Glienke’s TestInsight within the Delphi IDE. TestInsight supports DUnit, DUnit2 and DUnitX (which is now supported in Delphi XE8)

Ten Tips For Migrating From C# and .NET To Multi-Platform Object Pascal and Delphi Firemonkey by Eli M.

In this article by Eli, he gives you 10 tips you can share with your C#/.NET developer friends and show them the power and beauty of programming using Delphi XE8 for multi-device application development. Thank you, Delphi community, for continuing to create great content for developers.

Embarcadero is exhibiting at the "2nd Annual Internet of Things World" conference in San Francisco, May 12-13

RAD Studio XE8 gives developers the application platform with the tools they need to extend existing VCL Windows or FireMonkey apps to mobile, wearables, and IoT solutions. These solutions are powered by distributed, connected apps that are deployed across Windows, Android, iOS, OS X, wearables, like Smart Watches, IoT devices like Beacons, middleware, enterprise backends, and cloud hosted services.

We will be exhibiting RAD Studio XE8 support for Beacons, wearables and other IoT devices and gadgets at the 2nd Annual Internet of Things World Conference in San Francisco May 12 and 13, 2015. If you are attending, stop by the Embarcadero Technologies booth and say hello to our team of technology experts.

Read about our support for IoT in RAD Studio XE8 for devices using Bluetooth, BluetoothLE, REST/JSON, proximity programming using iBeacon and AltBeacon technologies, and more. Take a look at the results of our IoT Developer Survey. Take a look at RAD Studio XE8’s support for Proximity Awareness programming - article, slides and video. You can build Beacon based proximity aware applications using the new TBeacon component in your Delphi and C++Builder XE8 applications running on OSX, iOS and Android.

We hope to see you in person in San Francisco May 12-13. In the meantime, download the free 30-day trial of RAD Studio XE8 and get started building IoT applications TODAY!


Where in the world are programmers using Delphi?

There have been a couple of polls posted on the Google+ Delphi Developer Community by Stefan Glienke (Embarcadero MVP, blogger and developer of Delphi based software including DUnitX). Two of Stefan’s recent polls in the G+ Delphi community asked when members first started using Delphi and also how old they are. The polls were only for G+ Delphi Community members and not necessarily a representative sample of the global Delphi developer community.  There was a comment in the developer age poll that wondered where Delphi developers are located. This prompted my to do one of my SQL queries of our registered customer database to see what the top countries look like. The following is the top 15 list of countries where Delphi developers registered their products.

Where are the Delphi Developers

The top 15 countries with Delphi developers (paid versions, NOT free or trial or pirated) are

  1. United States
  2. Germany
  3. Japan
  4. Great Britain
  5. France
  6. Brazil
  7. Russia
  8. China
  9. Netherlands
  10. Poland
  11. South Africa
  12. Canada
  13. Australia
  14. Italy
  15. South Korea

If your country is not in the top 15, download RAD Studio XE8, try it and then purchase it and maybe your country will move up the list. No matter where you live, you’ll find Delphi developers across the planet Earth. There are Delphi developers in 241 Countries and Principalities with top level Internet domain suffixes. We are still waiting for someone to register a Delphi product for .AC (Ascension Island, Saint Helena and Tristan da Cunha) and a couple of others!


TMS Software Spell Checking for VCL and FireMonkey apps

During several of our recent online events, I was asked if there was a multi-device spell checking and RTF component solution for FireMonkey. The answer is, yes there is.  Spell  Checking components are available from TMS Software both for Windows VCL and multi-device FireMonkey apps.  Bruno Fierens (TMS Software) showed the spell checker components working in apps during his Technology Partner Spotlight webinar in February. Here are a few links to the spotlight replay and also to the TMS spell checking product pages.

TMS Software Techechnology Partner Spotlight replay -

TMS Software Home page -

SpellCheck for VCL product page -

Spell Check for FMX page -


FireDAC Skill Sprint - BDE to InterBase Migration using FireDAC

Here are the resource links for my Thursday, March 26, 2015 FireDAC Skill Sprint - "BDE to InterBase Migration using FireDAC". The slide deck is also available on slideshare.

FireDAC page -

FireDAC and ODBC -

InterBase page -

Migtating BDE to FireDAC -

Installing BDE components in RAD Studio XE7 -

Clever Components InterBase DataPump -


Two WiFi enabled kitchen devices I have to get and program…

It’s that time for me to buy some new WiFi enabled devices. I’ve been playing with medical/fitness gadgets for too long: heart rate monitors, oximeters, blood pressure cuffs and blood sugar monitors. It’s time to move into the kitchen. Here are two WiFi enabled kitchen devices that I have to purchase and start some programming with RAD Studio XE7: "Crock-Pot Smart Wifi-Enabled WeMo 6-Quart Slow Cooker" and "Mr. Coffee Smart Wifi-Enabled WeMo 10-Cup Optimal Brew Coffeemaker".

Crock-Pot Smart Wifi-Enabled WeMo 6-Quart Slow Cooker

Product Page -

Mr. Coffee Smart Wifi-Enabled WeMo 10-Cup Optimal Brew Coffeemaker

Product Page -

Next Step - order and let the programming soon begin :)

I will let you know when I have them in my kitchen and then the programming fun can begin. 


Embarcadero Community Webcast – Episode #6 - February 9, 2015

Embarcadero Community Webcast – Episode #6

Monday Februray 9, 2015

A weekly Embarcadero Community webcast, by David Intersimone "David I", covering recent Embarcadero and Industry news, upcoming events, blog posts, articles and Community Questions and Answers. The recording appears on the Embarcadero YouTube channel. 

Episode #6 YouTube URL - coming soon

Developers in China can watch the video on YouKu - coming soon


Community News -

Upcoming Events -

Blogs -

Answers -

Special offers and bonuses with your purchase of RAD Studio XE7, Delphi XE7, or C++Builder XE7 -


Embarcadero Community Webcast – each Monday

YouTube playlist -

Stay tuned to David I’s blog, Sip from the FireHose, each Monday for a new episode of the Embarcadero Community Webcast -


Delphi Developers - Take part in Delphi Week 2015 - Next Week - Feb 9-13, 2015

Hello Delphi development enthusiast:

Next week, February 9-13, we are celebrating everything Delphi during our first annual #DelphiWeek. Each day, we will have live sessions from 8am to 10am and 2pm to 4pm Pacific Time. This is my personal invitation for you to take part in this global celebration of 20 years of continuous innovation (with much more to come).

Additional information about the Delphi Week 2015 schedule of events is available on the Community Site News page at

You can register for both or either time slot using the following URLs:

If you want to participate in Delphi Week beyond just watching, here are a few ideas (you are not limited to just these suggestions):

  • Send us an email with your favorite Delphi feature and favorite Object Pascal Language feature.
  • If you register and participate in the live, online daily events taking place each day from 8- 10am and 2-4pm Pacific Time, let us know which days you will be on so we can find you in the attendee list and open up your mic (if you raise your hand) and we can have a conversation/interview during the live events.
  • Upload a short 5 minute video showing your favorite Delphi feature (language, runtime library, VCL, FireMonkey, IDE, etc.) and we’ll try to play it during the week.
  • Send us an email and tell us the cool things you are doing using Delphi. If you have blog posts, videos or articles that talk about what you are building, send us the URL.
  • Upload a picture of your yourself, your office, your team, your IDE/Applications screens to Twitter and Instagram and use the hashtag #DelphiWeek so we can find the bitmap and add it to our Delphi photo album.
  • If you are up to the challenge, take part in the Wednesday "Code Battle" where developers will build an application using Delphi XE7 features live online. Community members will then vote to decide the winners.
  • Let us know about your favorite Delphi web sites, authors, bloggers and luminaries.
  • Have something else to share, these are only suggestions, let us know what you want to do for your participation next week :)
  • If you have any questions or other suggestions, please let us know.

David Intersimone "David I" -

Jim McKeeth -

Bad Behavior has blocked 4 access attempts in the last 7 days.