Delphi Blogs of the Week #54

A new round up of Delphi-related news, after my two weeks of vacation around Europe. Delphi Product Blogs and More Quickly find add-ons with new GetIt categories by Sarina at (by the way, we are open for ideas and suggestions, given the system is now fairly flexible) The Enterprise Connector Beta has started by Sarina at Viewing Salesforce Data in RAD Studio Data Explorer by Sarina at #FireMonkey RAD Studio Overview Download Link: Targeting Chrome OS with Delphi via Android and Linux by Jim McKeeth at Notable Blog Posts Send an Email with an Attachment in iOS, Android, and Windows using RAD Studio by Roy Woll at ScannerMApp: a QR/barcode scanner app with Delphi, ZXing and TFrameStand by Andrewa Magni at Using Google Sign-In for Firebase SDK on Android by Allen Drennan at SIMD Assembly Optimization by Erik van Bilsen at Building a (real) Linux daemon with Delphi - Part 1 by Paolo Rossi at 4 Years at Embarcadero Technologies by Jim at Encode JSON to a FireDAC Memory Table without REST Request by Craig at Stay tunes for more news.
Read More

EurekaLog 7.6 is out

We are pleased to announce the availability of the new 7.6 version.

EurekaLog is a tool for Delphi and C++Builder that gives your application the power to catch every exception and memory/resource leak, generating a detailed log of the call stack (with unit, procedure and line number), optionally sending you a copy of each log entry via email or the Web via the most used Web Bug-Tracking tools (as Mantis, BugZilla, FogBugz, and JIRA).

EurekaLog represents the most advanced exception and memory leaks logger technology available for Delphi/C++Builder developers.

To learn more about EurekaLog, please visit our website at:

To download a demo, please visit:

If you would like to purchase a new license, please visit:


  1. Important: Installer will ask you a licence information. See: New license checks in EurekaLog installers
  2. Important: Debug information format was completely changed. Be sure to test your applications
  3. Important: Added a major upgrade to bug tracker code. Be sure to test your applications
  4. Important: BugID generation alg was changed. Be sure to test your applications
  5. Important: EurekaLog will now store configuration in .eof file instead of .dof, .bdsproj, .dproj, etc.
  6. Added: Support for 10.2 Tokyo
  7. Added: ecc32 will now modify uses list in your .dpr file to match specified configuration
  8. Added: –el_prepare switch is added to be used when –el_alter_exe is used
  9. Added: New option to stip all string names from debug information and store it in external file
  10. Added: Debug information’s and ZIP’s passwords are now saved locally on developer machine – to be used by application and Viewer (this simplifies local debugging when passwords are set). OnPasswordChange event will not be called
  11. Added: New “–el_password=debug-info-password” command-line option can be passed to application to decrypt encrypted debug information. OnPasswordChange event will not be called
  12. Added: Our own implementation of XML, XML-RPC, and SOAP. We no longer use RTL’s implementation, therefore now we have support for bug tracker’s API even on old IDEs
  13. Added: New options for bug trackers (new fields, append call stack instead of full bug report, links, text limits)
  14. Added: A helper “Connect” button in EurekaLog project options dialog to retrieve project names, users, field names, components, areas, and other info for bug tracker
  15. Added: Working hyper-links support in bug tracker success message via TaskDialogs (Vista+)
  16. Added: BugID tab in EurekaLog project options dialog – allowing you to customize uniqueness without writing OnCustomBugID event handler
  17. Added: New column in call stack: “Source” (e.g. actual .pas file name)
  18. Added: Threads selection to hang detection page
  19. Added: Support for MessageBox from NT services
  20. Added: “Lookup Error” option in Viewer – there is a new toolbar, as well as new context menu item for “General” tab
  21. Added: ELogging unit implements log capabilities. EurekaLog will stream log into CodeSite-compatible format. Currently it has no UI control. Use ELogOpen function to stream log to the specified file
  22. Added: (Delphi only) EurekaLog units in uses list are wrapped into IFDEF block
  23. Added: Call stack, modules and processes use different colors now. For call stacks: red indicates exception line, black – stack frame entry (positive), grey – RAW (could be false-positive), other colors – service entries
  24. Added: Support for DataSnap applications. Do not forget to enable EurekaLog for background threads (either as “Enable for RTL threads” or as SetEurekaLogStateInThread in OnConnect handler)
  25. Added: Handler name property for exception info and ability to filter with it. Handler name indicates handler which is processing the exception, it can be used to distinguish between VCL, Thread, DataSnap exceptions, etc.
  26. Added: Ability to filter by descendant classes
  27. Added: ACompareForCount argument to DumpAllocationsToFile routine
  28. Added: LoadCustomizedTextsToStream/SaveCustomizedTextsToStream
  29. Added: Threads Snapshot tool can be used as post-morten debugger. Use /install command-line switch to register tool as debugger (admin rights are required).
  30. Added: Support for Synopse mORMot (.mab) debug information format
  31. Added: “Terminate threads on shutdown” option
  32. Fixed: Reduced ecc32/emake memory footprint, thus allowing to post-process larger projects
  33. Fixed: Debug information design-time performace optimizations (reduced compilation time)
  34. Fixed: Debug information run-time performace optimizations (reduced startup time)
  35. Fixed: Minor optimizations for call stack to string render
  36. Fixed: Display bug in detailed EurekaLog dialog tabs when not all tabs were showing
  37. Fixed: [10.1 Berlin] Weak references are no longer detected as leaks
  38. Fixed: A “recursive area removed” mark may be left in call stack even if area’s items were filtered out
  39. Fixed: Fatal errors (e.g. panic mode) now properly set terminate option in dialogs
  40. Fixed: Possible crash on startup when using certain 3rd party memory managers
  41. Fixed: Possible crash when EurekaLog’s debug mode is enabled
  42. Fixed: XML header of bug reports
  43. Fixed: Added workaround for OTA bug when {$E ext} is used in project
  44. Fixed: (C++ Builder only) Possible crash when handling certain exceptions
  45. Fixed: Firebird Embedded in Viewer was upgraded to 2.5.6. This solves a rare encoding problem when using Firebird backend
  46. Fixed: (Delphi 2005 and earlier) Bug in workaround for QC Report #3018
  47. Fixed: Checkboxes not respecting default state when switching between dialogs (e.g. MS Classic -> EurekaLog Detailed)
  48. Fixed: Visual glitches in EurekaLog dialogs when VCL styles are used
  49. Fixed: Compatibility with 3rd party software of password-encrypted ZIPs
  50. Fixed: Possible range check error in debug information
  51. Fixed: EurekaLog dialogs are now per-monitor DPI awared
  52. Fixed: Silent ignoring invalid time stamps in PE headers
  53. Fixed: Added workaround for certain bugs in .map files
  54. Fixed: Minor regression issues
  55. Fixed: Viewer may hang when passing file name to open to main instance
  56. Fixed: Windows 2000 compatibility issues
  57. Fixed: Possible stack overflow in multi-threaded apps when low-level hooks are disabled
  58. Fixed: CLang compatibility fixes
  59. Fixed: DebugExport provider will now load names only on demand (performance boost on startup)
  60. Fixed: Possible crash when processing certain external exceptions
  61. Improved: New call stack/assembler encryption when encrypt password is set for debug info
  62. Improved: Better call stack filtering from EL service routines when encryption is enabled
  63. Improved: Any share violation error during compilation will report which process is holding the file
  64. Changed: ecc32.exe and emake.exe are the same file for all IDEs. Current IDE is selected based on ecc32/emake file location or via –el_ide=num command-line option
  65. Changed: Translations of strings with “application” substitution now supports selecting a specific “application” translation. Simply replace %s with %0:s or %1:s. Default translations are already adjusted.
  66. Changed: Internal crash reports made Viewer-compatible
  67. Changed: Removed stubs for ComObj unit
  68. Removed: Web-based bug tracker support

Read More

Read More

Logging in Android

From the Code Partners blog: RAD Studio’s ability to do remote debugging of Android apps on device is fantastic for tracking down issues. However sometimes you have issues where the debugger can’t help. Case in point is one of the projects we were doing for a customer recently. The Android portion included a Service, which […]
Read More

Delphi Blogs of the (Week) Month #53

Embarcadero News Embarcadero Partners with CData to Offer Enterprise Connectors (press release at You can read more on this blog post from Sarina, The beta of the components can be found in GetIt for Tokyo customers (Professional and above), in a new "Connectors" category. You can use them to connect with over 70 different business, enterprise and social web services. Very nicely integrated with FireDAC and the IDE. A patch for Tokyo focused on Android is available, Books, books! Cary Jensen has a new FireDAC book out. See the announcement at and a review by Stephen at Dalija has a new book project focused on Delphi Memory Management, as you can read at and Blog Posts Visualize JSON using TTreeView at New FireDAC Database Status Page at Using the Google Cloud Platform APIs at http://​ FireMonkey and VCL Style Packs from at Third Party Tools MIDAS dropbox library at PasLibVlc - use VideoLAN player in Delphi at The Light End Delphi developers use spaces, right?
Read More

RAD Studio 10.2 Patch for Android Released

As Sarina already mentioned in the community site, last week Embarcadero released a second patch for Delphi and C++Builder 10.2 Tokyo. The first patch was focused on tool chain issues, while this new one addresses several issues for Android platform support. Namely, some of the fixes relate with the platform changes in editing (causing problems when using the backspace key) while other address regressions (and performance issues) introduced in 10.2 Tokyo and caused by platform changes in threading support. You can find a list of open Quality Portal issues the patch addresses in the download page at This patch is available also for trial customers. The matching source code is available only for registered users at Notice that the source code includes changes that affect multiple platforms, but we haven't released the updated DCU files for those other platforms. In other words, PAS and DCU will most likely be out of synch either with or without the source code patch, depending on the target platform, and you should consider enabling this new source code for Android specific projects or using it as reference only. We know this is no ideal and this patch is intended as a temporary solution, while we complete and test a full update of the product, including all internal fixes and all platforms.
Read More

June Offers Are Ending – Act Now!

Only a few days left – RAD Studio SPECIAL OFFERS!! Act Today!

RAD Studio 10.2 “Tokyo” has been around for over three months, generating thousands of downloads. We already implemented several quality patches to further enhance performance.

It has never been a better time to join the RAD Studio revolution and deliver to your customers amazing application experiences.

We know that the cost of tools is not a huge factor when deciding to upgrade or approaching a new project. It should not be! However, we want to help you make that decision easier and have put together some really attractive promos for June. There are only a few days left… make your decision early next week and save BIG$$$! You will have some left-over for the beach 🙂 ! 

#1 Buy One RAD Studio, Delphi, or C++Builder Professional and Get One Mobile Add-On Pack for FREE (Up to 703$ in $avings)!

Start building cross-platform apps today that will work on Windows, Android, iOS, or Mac. With Update Subscription included you will be one of the first to access our Free Beta for CData Enterprise Connectors, as well as free source code for a variety of apps, from games to complex solution templates.

How to to get? Just buy from the PRO license from Web Store, Embarcadero Sales or Partners and use the Serial Number on the Promo Page to get your FREE items. EASY!

Contact Sales>>   Buy Online >>  Find A Partner>>

#2 Buy One RAD Studio, Delphi, or C++Builder Architect and Get One Unlimited Users RAD Server (up to 4995$ in $avings) – Unbelievable right?

This is a huge one! With Architect you already get an awesome bundle, including the best development suite and additional database modeling tools. Now you get an unlimited RAD Server to deploy. Compared to similar competitive solutions with pricing anywhere from $50 to $100 per user per month, you will be saving thousands and you will get the speed of development and deployment that are unmatched. We did a simple benchmark to build a Salesforce app and the RAD Studio with RAD Server solution was over 10x time less expensive and it took far less time to build.

You get a number of bonus features, such as Beacon Fence, Free Source Code for RAD Server Solutions, and Customizable Bootstrap JS Portal.

You can check-out Sarina’s latest RAD Server blog for more details, but ACT FAST. This will NOT be available after June.

How do you get it? Just buy the Architect license from Web Store, Embarcadero Sales or Partners and use the Serial Number on the Promo Page to get your FREE items. EASY!

Contact Sales>>  Buy Online >>  Find A Partner>>

#3 Buy PRO and get 20 IB Licenses! But Enterprise and get 100 IB Licenses!

Interbase 2017 is here and you can get variety of options to save big with this promo offer. We recently did a comparison of alternative solutions  and IB 2017 delivered the best value, especially if you require Change Controls. If you want a secure and scalable solution IB 2017 is for you

Contact Sales>>  Buy Online >>  Find A Partner>>

To learn more about the all special offers that are ENDING SOON (Including terms & Conditions), go to the special offer pageIf you have any specific questions or need further help, send me an email ( or leave a comment to this article.

Read More

Read More

Generating customer loyalty cards, event tickets, coupons, boarding passes for the smartphone with TMS PassKit

With iOS 9 and iPhone 6, Apple introduced the digital wallet on your smartphone. It is a system that holds passes to redeem rewards, get movie tickets, use discount coupons, get boarding passes for transport, offer prepaid cards etc.. An introduction t… … Read More

Read More

Bug fixes from both sides for “Windows 10 Creators update and Delphi debugging don’t go well”

It looks like Microsoft and Embarcadero solved their ends for [WayBack] Windows 10 Creators update and Delphi debugging don’t go well… : [WayBack] Announcing Windows 10 Insider Preview Build 16215 for PC + Build 15222 for Mobile – Windows Experience BlogWindows Experience Blog [WayBack] The Issue with Delphi Runtime Packages and Windows 10 Creators Update The issue was caused […] … Read More

Read More

Announcing Delphi Developer Days 2017 Special Edition Database Workshop

I am pleased to announce that registration is now open for Delphi Developer Days 2017 Special Edition Database Workshop with Bob Swart and me, Cary Jensen, which will be held this fall in the U.S. and Europe.Unlike our traditional Delphi Developer Days events, which include a broad range of topics, this workshop focuses exclusively on database development. It begins with a detailed look at connecting to data and configuring FireDAC, and continues with a look at some of FireDAC’s more advanced features, including Array DML, the SQL command preprocessor, and cached updates. The workshop continues with an in-depth discussion of multi-tier development. Topics include creating DataSnap servers and using Embarcadero’s RAD Server. Here you will learn how to access your data from mobile applications, how to support both Delphi and non-Delphi clients using REST (REpresentational State Transfer), and how to create RAD Server microservices with Delphi.Both days of this workshop are taught jointly by me and Bob. You are encouraged (though not required) to bring a laptop in order to follow along with the provided code samples.Each attendee will receive a Delphi Developer Days course book, which includes a special edition of my latest book Delphi in Depth: FireDAC, along with material on DataSnap, mobile development, and RAD Server written by Bob (Dr.Bob) Swart.Here are the cities and dates for this fall tour:Chicago, 25-26 September 2017Antwerp, Belgium, 9-10 October 2017Frankfurt, Germany, 27-28 November 2017In addition to the course book, attendees also receive lunch on each day and all code samples covered during the workshop. Due to the nature of this workshop format, seating is limited. Register now to save your place in this special edition database workshop and receive a substantial discount for early registration. For more information, visit Delphi Developer Days 2017 Special Edition Database Workshop is taught in English.Note that we will return with the traditional Delphi Developer Days event in the spring of 2018, where we present both joint as well as separate sessions on a wide variety of Delphi topics.
Read More

The April 2017 Tokyo Hotfix Works with the new Xcode & iOS

Apple pushed out a new Xcode and iOS this week with WWDC. Naturally I updated and tried it. Xcode version 8.3.3 (8E3004b) and iOS version 10.3.2 (14F89). I’m running 10.2 Tokyo with the April 2017 Hotfix and it all worked as expected. I deployed to my iPad and the iPhone simulator (I don’t have an iPhone anymore, upgrade to a Pixel XL!) Are you running Toyko 10.2 with the April 2017 Hotfix? There are updates coming too. Check out the roadmap to see what is planned for 10.2.1 & 10.2.2. Great new features and a lot of fixes too!
Read More