Watch, Follow, &
Connect with Us

Embarcadero Blogs

Latest Posts

Designing App Navigation with TMultiView in RAD Studio XE7

In RAD Studio XE7, we introduced a new smart menu component called TMultiView. With TMultiView, it is really easy to create app navigation that automatically adjusts itself depending on form factor, orientation and target platform using our new behavior services. TMultiView is a container component which means that you can parent many different components to it, such as a top aligned TToolbar or a client aligned TListview.

To use the new TMultiView component, drag and drop the TMultiView component onto your Multi-Device form. You can also use the Master/Detail Multi-Device template (File->New->Multi-Device Application) as a good starting point.

The MultiView component has some default built-in behavior that defines its appearance at runtime based on form factor and orientation.


The drawer menu, for example, can overlap with the content shown on the form, or push the content off its current position. You can also define the duration of the sliding drawer. The drawer is automatically invoked by swiping across the screen from either the left or the right side (depending on the placement of the drawer), and you can also hook it up to a button.


Also included with RAD Studio XE7 are both C++ and Delphi TMultiView demos:

  • C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\Object Pascal\Mobile Samples\User Interface\MultiView
  • C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\CPP\Mobile Samples\User Interface\MultiView


The following mobile demos also use TMultiView:

posted @ Thu, 18 Sep 2014 17:24:13 +0000 by sarinadupont

Dynamic Arrays in RAD Studio XE7

Marco discusses a significant new language feature for Dynamic Arrays.

posted @ Thu, 18 Sep 2014 17:12:52 +0000 by J T

Bluetooth LE support in RAD Studio XE7

RAD Studio XE7’s integrated wireless support (Bluetooth and Wifi) works with thousands of consumer and industry specific devices. RAD Studio’s approach makes it easy to integrate virtually any device into the app user experience, and even support multiple device vendors with the same code.

In RAD Studio XE7, we have a new Bluetooth LE component for connecting to many different Bluetooth Smart Devices that work with the different GATT profiles.

We ship several Bluetooth demos with the product that you can look at. For Bluetooth LE, we have a heartrate monitor demo that displays your current heart rate by connecting to a heart rate sensor.
You can find the demo under: C:/Users/PublicDocuments/Embarcadero/Studio/15.0/Samples/Object Pascal/Mobile Samples/Device Sensors and Services/Bluetooth/HeartRateMonitor

I am using the Zephyr heartrate monitor for this, but have also used Polar’s H7 heartrate monitor.

I extended the demo slightly by adding a Listbox for logging the heartrate. Also, for the iPhone version, I customized my iPhone view using the new FireUI Multi-Device Designer to display a + icon instead of the ‘Save’ text for logging my heart rate since I am working with less screen real estate.



bluetooth_iPod.jpg bluetooth2.jpg

Below are the necessary UUIDs we need to connect to our heart rate sensor:

  HRDeviceName = 'Cardiosport HRM';
  ServiceUUID = '';
  CharactUUID = '';

  // From the Bluetooth website Home > GATT Specifications > Services > ServiceViewer
  // Exposes heart rate and other data from a Heart Rate Sensor 
  HRSERVICE: TBluetoothUUID = '{0000180D-0000-1000-8000-00805F9B34FB}';

  // from the Bluetooth website under Home > GATT Specifications > Characteristics > CharacteristicViewer
  HRMEASUREMENT_CHARACTERISTIC: TBluetoothUUID  = '{00002A37-0000-1000-8000-00805F9B34FB}';
  BODY_SENSOR_LOCATION_CHARACTERISTIC: TBluetoothUUID  = '{00002A38-0000-1000-8000-00805F9B34FB}';

  //Body Sensor Location Characteristic value used to index the array to display the string
  BodySensorLocations : array[0..6] of string = ('Other', 'Chest', 'Wrist', 'Finger', 'Hand', 'Ear Lobe', 'Foot');


Here is the btnScanClick code:

procedure TfrmHeartMonitor.DoScan;
  lblDevice.Text := '';
  lblBodyLocation.Text := '';
  lblContactStatus.Text := '';
  BluetoothLE1.DiscoverDevices(2500, [HRSERVICE]);

We also set up several additional events:


procedure TfrmHeartMonitor.BluetoothLE1EndDiscoverDevices(const Sender: TObject;
  const ADeviceList: TBluetoothLEDeviceList);
  I: Integer;
  // log
  Memo1.Lines.Add(ADeviceList.Count.ToString +  ' devices discovered:');
  for I := 0 to ADeviceList.Count - 1 do Memo1.Lines.Add(ADeviceList[I].DeviceName);

  if BluetoothLE1.DiscoveredDevices.Count > 0 then
    FBLEDevice := BluetoothLE1.DiscoveredDevices.First;
    lblDevice.Text := HRDeviceName;
    if BluetoothLE1.GetServices(FBLEDevice).Count = 0 then
      Memo1.Lines.Add('No services found!');
      lblBPM.Font.Size := 26;
      lblBPM.Text := 'No services found!';
    lblDevice.Text := 'Device not found';

Here is a video of our Bluetooth LE support in action:

posted @ Thu, 18 Sep 2014 17:00:40 +0000 by sarinadupont

Delphi, C++Builder and RAD Studio XE7 first impressions from real developers

I recently did a Survey Monkey asking for first impressions from some of the first Delphi, C++Builder and RAD Studio XE7 customers that appeared in our registration database.  Here are just a few of the many responses that we received in the first few hours.


"The XE7 FireUI Multi-Device designer allows us to create a master view and customize the layout for numerous other devices. The development time it saves is worth the upgrade to XE7 alone." - Andrew Tierney - CEO - CastleSoft

The XE7 FireUI desgner is what I was looking for, one program for all platforms, great as I can use what I need on iPad and PC in one go." - Ulco Visser - Maxtra Media

"FireUI is like heaven! XE7 users will be lightyears ahead of other developers" - Erik Bellaard - Developer - *WEGA Automatisering VOF, NL

"XE7’s FireUI delivers the promise of single-source development across all the FMX platforms” - Ptere Ingham - Independent Software Development Consultant

"FireUI in XE7 is awesome. It rocks. Love the concept and the use of inheritance." - Keith Brown, independent programmer, Keith and Lisa Brown, LLC

"XE7’s FireUI multi-device forms take a massive headache out of developing screens that look good everywhere." - David M Williams - International IT consultant and author

Parallel Programming Library

"I am a developer for mechanical engineering software. XE7’s Parallel Programming will be very helpfull for this kind of application." - Wolfgang Häfele - Spplication developer at FIMA

"The Parallel Library in XE7 provides and easy and new way to think about concurrency in your applications." - Robert Love - Team Lead - State of Utah


"In XE7 app tethering to bring some old apps to life again. Parallel library, is gonna make my apps fly." - Roderick Ziervogel - CIO - ECI

"XE7’s multi-plateform support and of course Bluetooth support are very intuitive and easy to use" - Laura Legue - Software Architect

"Delphi XE7 has given us a new level of integration using connection bluetooth. We can reach almost all platforms using a single tool. It’s amazing and is very easy linking all connections with XE7. And the new Google Glass support is certainty a cherry on the cake." - Kelson Palharini - Developer - Ponto.Sys Sistemas

Enterprise Mobility Services (EMS)

"XE7 Enterprise Mobility Services is exactly what I was looking for" - Darian Miller, CTO, Dealer Marketing Services, Inc.

General/Overall Impressions

"XE7 is more responsive, more stable. I’ve been using Delphi for 15 years and still in love with it. That tells it all." - Karim kouni - senior petroleum engineer

"XE7 is mature and stable and very astutely addresses the modern day challenges that a profit conscience company is concerned to be competitive at the lowest investment, yet best quality." - Gerhard Stoltz U-RAD Technologies

"With XE7 Embarcadero continues taking Delphi to a whole new level with constant focus on quality improvements as well as new features. It’s the development platform of choice for me and it keeps getting better." - Darian Miller, CTO, Dealer Marketing Services, Inc.

"XE7 is one of the best releases in recent memory especially with the multi-device designer, no one else has anything like this saving me tons of development time." - Richard Baroniunas - Lead Developer - Baron Software

"Wow, big step forward. If you really want to go multi-platform, RAD Studio XE7 is _the_ choice." - Oliver Funcke - CEO - Software Union G.m.b.H.

"XE7 is the best tool for developing real multi-platform applications." - Carlo Barazzetta - Software Architect - Ethea Srl

"XE7 appears to be more stable and the new features for multi devices are amazing. With XE7 I really have one code for multiple platforms, simple and fast." - Rogério Lagares Xavier - Senior Analyst - Banco Público Federal

"I can’t see how you CAN’T get excited over a platform that lets you deploy to Windows, Mac, Android and iOS in native code with a common code base, using either Pascal or C++." - Tom Marchione - CEO - XMS Corporation

"XE7 is a very polished and stable release for mobile development. I’m a Delphi developer from days past. This release was the one that brought me back from the craziness of Visual Studio/Xamarin and the Apple XCode nightmare." - Zachary Burns - Senior Developer - Midas

Share your XE7 First Impressions - take the survey

If you want to share your XE7 first impressions with us you can use the Survey Monkey survey at

posted @ Thu, 18 Sep 2014 14:27:15 +0000 by David Intersimone

DevExpress announces VCL components v14.1.4 now supports XE7

DevExpress VCL component pack version 14.1.4 is now compatible with Delphi, C++Builder and RAD Studio XE7. DevExpress CTO Julian Bucknall posted a blog entry on September 9 announcing the release with XE7 support.

Julian said: "I am happy to announce that we released DevExpress VCL v14.1.4 early this morning with full support for 32-bit and 64-bit Delphi and C++Builder XE7. If you are an active DevExpress VCL customer, you can download the new version from the Download Center right now."

Julian’s post goes on to say - "You can read all about What’s New in v14.1.4 here, including a list of all the enhancements and bug fixes that were published."

posted @ Thu, 18 Sep 2014 14:24:54 +0000 by David Intersimone

Internet of Things using Bluetooth with David I - Developer Skill Sprint - Sept 18, 2014

Today’s developer skill sprint is titled "Internet of Things with Bluetooth". I have uploaded the slides (slightly modified from the presentation) to Embarcadero’s Slideshare site at The sample programs that I use in the demonstrations are included in Delphi, C++Builder and RAD Studio XE7 releases. The samples are also included with the Appmethod September 2014 release.  You can also find the samples on Embarcadero’s RAD Studio SourceForge repository at

Demo programs used in today’s developer skill sprint include:

  • AppTethering | MediaPlayer - showing how to use Bluetooth to control an desktop application from a device
  • Mobile Samples | Device Sensors and Services | Bluetooth | HeartRateMonitor - shows how to use a BluetoothLE heart rate monitoring device (I use a Polar H7 chest strap) with your devices. The sample will work with any other GATT standard heart rate monitor.
  • Mobile Samples | Device Sensors and Services | Bluetooth | ExploreDevicesLE - allows you to find and explore BluetoothLE devices, services, characteristics.

Resource links included in presentation include the following:

Bluetooth sample aplications can be found in our products and on SourceForge:

  • C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\CPP\Mobile Samples\Device Sensors and Services\Bluetooth
  • C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\CPP\RTL\Tethering
  • C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\Object Pascal\Mobile Samples\Device Sensors and Services\Bluetooth
  • C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\Object Pascal\RTL\Tethering

The replay for today’s skill sprint will appear on the Embarcadero YouTube channel Developer Skill Sprints playlist at

posted @ Thu, 18 Sep 2014 14:22:23 +0000 by David Intersimone

IBTogo sample

This post explains hot to create a basic IBTogo application

posted @ Thu, 18 Sep 2014 12:57:07 +0000 by rubenpozo

The FireUI: Multi-Device Designer in RAD Studio XE7

Here is the video replay, slides and resources from my Developer Skill Sprint on the new Multi-Device Designer in RAD Studio XE7. This is one part of the new FireUI, the evolution of FireMonkey. The Multi-Device Designer is a new feature in …

Read more »

posted @ Wed, 17 Sep 2014 13:03:10 +0000 by Jim McKeeth

Parallel Programming using the new RAD Studio XE7 runtime library

I’ve created a short video that shows Marco Cantu talking about and demoing the new XE7 Parallel Programming Library at the recent RAD Studio XE7 First Look webinar. You can find the video on our YouTube channel at

Stephen Ball has written 3 recent blogs giving an overview of the Parallel Programming Library, how to use parallel tasks and how to use parallel Futures.

Conway’s Game of Life - parallelized

You can also take a look at the Object Pascal and C++ sample applications that implement "Conways Game of Life" simulation. These are included in the RAD Studio, Delphi and C++Builder installation samples folder at C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\Object Pascal\RTL\Parallel Library and C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\CPP\RTL\Parallel Library.

You can also find the same samples in our SourceForge demos repository at 

Parallel Programming Library works on all target platforms

You can use the Parallel Programming Library in your VCL, FireMonkey and other project targets using both Object Pascal and C++. The Parallel Programming Library works on all of the target platforms we support: Windows (32/64), OSX, iOS and Android.  You might want to take care if you push the processor cores too hard - you’ll hear the fan go on for your desktop and server computers, feel the heat on your lap, face, hands (depending on the target and form factor of your device) and for mobile platforms you might see the battery life go down :) 


Find additional David I techie news bits on my Google+ page.

posted @ Wed, 17 Sep 2014 17:28:04 +0000 by David Intersimone

Delphi XE7 and RAD Studio XE7 First Look Webinar On Demand

If you weren't able to make it to the RAD Studio XE7 First Look webinar or would like to see it again, the replay is now available on demand. Click here to watch it.

On-Demand: First Look Webinar: RAD Studio, Delphi and C++Builder XE7

See what’s new for VCL/Windows and FireMonkey multi-device development in RAD Studio and get ready to take your app development to the next level.

Join Embarcadero’s John Thomas and Marco Cantu for this exclusive First Look on-demand webinar for RAD Studio XE7 to:
  • See new and revolutionary innovations in multi-device development
  • Learn how to easily build and deploy enterprise services
  • Get expert advice on building connected apps for the Internet of Things

posted @ Mon, 15 Sep 2014 07:30:00 +0000 by Tim Del Chiaro

Server Response from: BLOGS1