Skip to content

Embarcadero developer tools in the news…

Here are just a few of the recent articles and technology partner news from web sites, magazines and news outlets around the world covering our developer tools and the recent release of Delphi XE6, C++Builder XE6 and RAD Studio XE6.

If you have found additional news items about our products, post a link to the article in the comments section.

Finding your Tethered Apps

RAD Studio XE6, Delphi XE6 and C++Builder XE6 include support for tethering your VCL and FMX apps together. This blog post shows you how to display all of the tethered apps that you can find on your subnet. App Tethering includes two components: TTetheringManager and TTetheringAppProfile. For this article I’ve built a Delphi VCL application that uses these two components to discover the other tethered apps that are running on the my subnet. The example tether application demo I used is the PhotoWall sample that ships with the release (you can find it in the C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\Object Pascal\RTL\Tethering\PhotoWall folder)

Here is the main form for my application showing a TButton, TSpinEdit, two TListbox and some TLabels.  The TSpinEdit is used to set the timeout for the TetheringManager.DiscoverManagers optional second parameter.

The app tethering discovery works by using UDP to broadcast a discovery message across ports 2020-2040. The default timeout for the manager discovery period is 1500 milliseconds. The default timeout for the profiles discovery is 5000 milliseconds. Make sure that you open up the app tethering ports in your firewall if they are not already open. If your network is busy, you might want to set the discovery timeout longer than 1500 milliseconds (I normally use 3000 milliseconds at work and the default at home).

The TButton onClick event handler code is very straightforward:

    procedure TForm1.Button1Click(Sender: TObject);
    var
      I : integer;
    begin
      // discover all managers
      Button1.Enabled := false;
      Label1.Caption := '0';
      ListBox1.Items.Clear();
      Label2.Caption := '0';
      TotalProfiles := 0;
      ListBox2.Items.Clear();
      for I := TetheringManager1.PairedManagers.Count - 1 downto 0 do
        TetheringManager1.UnPairManager(TetheringManager1.PairedManagers[I]);
        // Tethering Port Range: 2020 to 2040
        // Manager discovery default timeout is 1500 msec
      TetheringManager1.DiscoverManagers(DiscoveryTimeoutSpinEdit.Value);
    end;

In my Find Tethered Apps application I provide three event handlers for my TetheringManager: OnEndManagersDiscovery, OnEndProfilesDiscovery and OnRequestManagerPassword.

If your Tethered Apps have a password set in their TetheringManager property, you’ll need to provide a n OnRequestManagerPassword event handler to get any responses from the remote tether apps.

    procedure TForm1.TetheringManager1RequestManagerPassword(const Sender: TObject;
      const RemoteIdentifier: string; var Password: string);
    begin
      Password := '1234';
    end;

After the call to DiscoverManagers, the app tethering technology listens for replies from other TetherManagers and TetherProfiles. When the timeout period completes, the OnEndManagersDiscovery and OnEndProfilesDiscovery events are executed. The event handlers code displays the TetherManagers with their IPaddress and Port and the TetherProfiles with their GUID.

    procedure TForm1.TetheringManager1EndManagersDiscovery(const Sender: TObject;
      const RemoteManagers: TTetheringManagerInfoList);
    var
      I: Integer;
    begin
      // end of managers discovery - list those found
      // use RemoteManagers parameter to build ListBox1
      Label1.Caption := IntToStr(RemoteManagers.Count);
      for I := 0 to RemoteManagers.Count-1 do begin
        ListBox1.Items.Add(RemoteManagers.List[I].ManagerName
          + ' - '
          + RemoteManagers.List[I].ConnectionString
        );
        TetheringManager1.PairManager(RemoteManagers[I]);
      end;
      Button1.Enabled := true;
    end;
    
    procedure TForm1.TetheringManager1EndProfilesDiscovery(const Sender: TObject;
      const RemoteProfiles: TTetheringProfileInfoList);
    var
      I: Integer;
    begin
        // Tethering Port Range: 2020 to 2040
        // Profile discovery default timeout is 5000 msec
      Inc(TotalProfiles);
      // use RemoteProfiles parameter to build ListBox1
      Label2.Caption := IntToStr(TotalProfiles);
      for I := 0 to RemoteProfiles.Count-1 do begin
        ListBox2.Items.Add(RemoteProfiles[I].ProfileText
          + ' - '
          + RemoteProfiles.List[I].ProfileIdentifier
        )
      end;
      Button1.Enabled := true;
    end;

For my test run, I started the VCL and FMX PhotoWall desktop apps and then started the mobile PhotoWall apps on my iPhone and Android phone. The resulting display shows the four tethered apps in my FindTetheredApps demo along with pictures that I took on my two mobile devices and sent to the two desktop apps.

The source code to my Delphi Find Tethered Apps project is available in CodeCentral at http://cc.embarcadero.com/item/29849. Have fun adding app tethering to your VCL and FMX Delphi and C++ XE6 applications.

Great blog post about App Tethering by Steffen Nyeland

App Tethering is a new capability in XE6. RTL components are included for connecting your VCL and FMX apps together on the same machines or multi-devices in your Object Pascal and C++ projects. XE6 includes the TTetheringManager and TTetheringAppProfile components for your use. Using app tethering (from the Embarcadero DocWiki), your applications can easily:

  • Discover other applications that are using app tethering, running either on the same device as your application or on other connected devices.
  • Run actions remotely. An application can publish actions using app tethering. Then other applications can remotely invoke any of these actions on the former application.
  • Share data between applications. App tethering allows sharing of standard data types and streams.

The app tethering feature does not depend on a specific transport or protocol, and new protocols can be implemented using the app tethering API. The RTL provides built-in support for Ethernet connections between applications on the same local areal network (LAN), including applications running on the same device. Bluetooth support for App Tethering is on our roadmap for a future release.

Steffen Nyeland has written a great blog post showing how to use a barcode scanning app on Android and iOS and send the data to a desktop app. Check out the blog post at  http://fixedbycode.blogspot.dk/2014/04/fun-with-delphi-xe6-app-tethering-and.html. Steffen also has links to download the sender and receiver apps. He also includes links to additional sources of information.

Thank you Steffen and keep up the great work!

RAD Studio, Delphi and C++Builder XE6 featured partners list…

Tim del Chiaro has created a landing page with a list of Embarcadero Technology Partners that are among the first to update their tools and components to support RAD Studio XE6, Delphi XE6 and/or C++Builder XE6 at launch time. You can find the list at http://edn.embarcadero.com/article/43761. These are just some of the many partners who plan to support XE6 as soon as possible.

Technology Partner Tools and Components included in RAD Studio

RAD Studio XE6 includes special editions of popular tools and components from Embarcadero Technology Partners at no extra cost - enabling you to do more than ever before. Bundled tools vary by edition. See feature matrix for further details.

RAD Studio Bundled Tools

Become a Glass Explorer on Tues April 15 - still only US for now

Several of us have Google Glass and are building and testing apps using the devices. Google posted a message on their Google+ Glass page, announcing that "Next Tuesday, April 15th at 6am PDT, we’re opening up some spots in the Glass Explorer Program. Any adult in the US* can become an Explorer by visiting our site and purchasing Glass for $1500 + tax – and it now comes with your favorite shade or frame, thanks to feedback from our current Explorers. The number of spots available is limited, so mark your calendar if you want to get in. You can find us on Tuesday at: http://google.com/glass/start/how-to-get-one". The asterisk denoted a comment where Google said "*To everyone outside the US… we know. Sorry :( We’re just not ready yet to bring Glass to other countries."

Using Delphi (and soon C++Builder) with Google Glass

Jim McKeeth and I have been showing apps we’ve built for Glass in videos, blog posts and our Jaunary "Programming Devices and Gadgets with RAD Studio" webinar. Here are several links to our Glass information.

Google Glass Takes on Parkinson’s Disease

There’s a wonderful Google Glass article in PC Magazine reporting that Newcastle University researchers are looking at how Google Glass might help people with Parkinson’s disease. Read the article at http://www.pcmag.com/article2/0,2817,2456257,00.asp.

Delphi Developer Days 2014 Tour Featuring Bob Swart and Cary Jensen

Register now for two days of intense Delphi sessions. Hear about Android and iOS mobile development, exploring platforms for cross-platform development, FireDAC and database connectivity and advanced techniques, object-oriented programming and component design, data-awareness in FireMonkey applications, REST and SOAP, and much more. Register early and get a discounted price.

Dates and Cities

  • May 5-6 2014 - Washington, D.C. / Baltimore, MD
  • May 8-9 2014 - Chicago, IL
  • May 26-27, 2014 - Frankfurt, Germany
  • June 12-13, 2014 - Amsterdam, The Netherlands
  • June 18-19, 2014 - London, United Kingdom

Learn more about Delphi Developer Days here..

Free evening community event at the US stops with Jim McKeeth

Plus, join Embarcadero for a free evening community event during Delphi Developer Days.

Find out more and RSVP to attend!

Cppcon 2014 - Bellevue, WA - September 7-12, 2014

The Cppcon 2014 C++ conference will take place in Bellevue Washington September 7-12, 2014. Join the ISO C++ foundation and Microsoft’s Going Native show into one conference for C++ developers, tool vendors, teachers, students and C++ language fans. Bjarne Stroustrup will give the opening keynote, "Making Simple Tasks Simple!". Submissions for talks and panels are open until May 14, 2014.

The conference timeline:

  • May 15: Submission deadline
  • June 13: Submission acceptance notification
  • June 27: Conference program available online
  • July 1: Early bird registration ends (regular registration is $995)
  • September 1: Regular registration ends (late registration is $1195)
  • September 7: Conference begins, registration and reception
  • September 8: Sessions begin

You’ll find additional information on the conference site at http://cppcon.org/. Submission information is available at http://cppcon.org/submissions/. Registration is now open - http://cppcon.org/registration/. The conference location is the Meydenbauer Center in Bellevue, Washington. Hotels nearby with special conference rates are listed at http://cppcon.org/lodging/.

Short video - Intel Interview - "Mobile First"

Interesting short video from the latest Intel Software Adrenaline magazine and email I receive. The video has Luke Wroblewski, "Mobile First" book author and Input Factory CEO, talking about "how he came to the idea and the challenges still faced in format, interface, and adoption - as well as the huge opportunities."

You can watch the video on YouTube at https://www.youtube.com/watch?v=2m-PqCndpnk (2 minutes and 50 seconds).

Other videos with Luke include:

Embarcadero Mobile First Information

Get started with mobile using RAD Studio and AppMethod

Nexus Quality Suite for RAD Studio, Delphi and C++Builder XE5

Nexus DB, an Embarcadero Technology Partner, has created the Nexus Quality Suite (NQS) of tools for developers that works with RAD Studio XE5. The product includes two profilers (for Win32) - one that works at the method level and one that works at the line level. The suite also includes a code coverage analyzer.

Nexus Quality Suite Product page - http://www.nexusdb.com/support/index.php?q=qualitysuite

Nexus Quality Suite is based on the core technology from TurboPower Sleuth QA and provides integration into the RAD Studio IDE.

First Look Webinar: RAD Studio, Delphi and C++Builder XE6 - April 16!

Join John Thomas and Marco Cantù for a first look at RAD Studio XE6, Delphi XE6 and C++Builder XE6. See what’s coming for VCL/Windows and FMX multi-device development in XE6 and get ready to take your app development to the next level.

Wednesday, April 16, 2014

  • 6AM PDT San Francisco / 9AM New York / 2PM London / 3PM Milan / 13:00 UTC/GMT
  • 11AM PDT San Francisco / 2PM New York / 7PM London / 8PM Milan / 18:00 UTC/GMT
  • 5PM PDT San Francisco / 17-Apr (Thursday) 9AM Tokyo / 17-Apr (Thursday) 10AM Sydney / Midnight between 16&17-Apr (Thursday) UTC/GMT

Register Now for the Preview Webinar(s)

If you are not sure what the starting time will be in your location, use the TimeAndDate.com time zone converter links below:

Join us Live!

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

Close