CodeRage X Resources for C++ and Object Pascal Tracks

Posted by on in Tips, Tricks and Techniques

This blog post contains links to full video playback, question and answer logs, and demos with source code for Code Rage X!

Delphi Sessions List | C++ Sessions List | Code Rage X Homepage

 

Full Video Replays

Object Pascal Track On Demand

C++ Track On Demand

 

C++ Tracks

Tuesday

  1. C++ Product Address
  2. Build a Push-Enabled Mobile App with Parse
  3. Enterprise Mobility Services - Creating EndPoints, Push Notifications and Custom Logins
  4. What's New in FireMonkey 10 Seattle
  5. Update Your Apps UI/UX with the All New Windows 10 Look and Feel 
  6. Beyond FastReport Basics: Essential Reporting Strategies
  7. FireDAC Beyond Basics: How to Simplify Robust Database Interactivity Using Single and Multiple DB Scripting
  8. Join the Conversation: C++11 Development for Windows, iOS and Android
  9. RAD Solution Pack - Enhance your applications and boost your productivity
  10. Meet OpenWire Studio, Visually Develop Processing Solutions Code Free
  11. Run-Time Library Deep Dive: New Features, Improvements, and Changes
  12. DataSnap Deep Dive: Building N-Tier Applications

Wednesday

  1. Hands-on with the Gnostice Document-Processing Framework
  2. Deep Dive on Beacons and Bluetooth LE
  3. InterBase Product Address
  4. InterBase Change Views Deep Dive: Deliver Insanely Efficient Data Updates
  5. BeaconFence Deep Dive: Beacon App Solution Development
  6. Introduction to Encryption: Understanding Security Algorithm Use Cases
  7. Leveraging AppAnalytics in FMX and VCL Apps From Concept to Complete to Deployment
  8. Rock Solid and Secure Communications for EMS, DataSnap, App Tethering, REST, Web Services etc.
  9. Step-by-Step Guide to Logging Custom Data in CodeSite
  10. App Tethering for VCL and FireMonkey using C++

Thursday

  1. Simplify MultiThreading with System.Threading for Mobile and Desktop Apps
  2. FastReport Deep Dive: Build Efficient Multi-Thread Reporting
  3. FireDAC Migration Made Easy: BDE, dbExpress, AnyDAC and Non-Integrated FD to Full FireDAC
  4. Understanding the IDE/PAServer toolChain
  5. Create IoT solutions with Delphi and Arduino
  6. InterBase Tips and Tricks: Quickly Get Up and Running on Windows, OS X, iOS, Android, and Linux
  7. Debug Tips and Tricks: Effective Multi-Device App Debugging Strategies for Win32, Win64, OS X, iOS and Android
  8. NoSQL with MongoDB an FireDAC - Part 1
  9. NoSQL with MongoDB an FireDAC - Part 2
  10. Amazon Web Services Programming with C++
  11. TFrameStand Deep Dive: Build Visually Stunning and Consistent UI/UX with FMX Frames

 

Object Pascal Tracks

Tuesday

  1. Delphi Product Address
  2. Enterprise Mobility Services - Creating EndPoints, Push Notifications and Custom Logins
  3. Build a Push-Enabled Mobile App with Parse
  4. Update Your Apps UI/UX with the All New Windows 10 Look and Feel
  5. What's New in FireMonkey 10 Seattle
  6. Amazon Web Services Programming with Delphi
  7. FireDac Beyond Basics: Simplify Robust Database Interactivity Using DB Scripting
  8. DataSnap Deep Dive: Building N-Tier Applications
  9. Rad Solution Pack - Enhance your applications and boost your productivity
  10. Meet OpenWire Studio, Visually Develop Processing Solutions Code Free
  11. How To Skin VCL Apps with Custom VCL Styles
  12. Beyond FastReport Basics: Essential Reporting Strategies
  13. Run-Time Library Deep Dive: New Features, Improvements, and Changes
  14. Flexible and Supercharged Key Hashing with Tdictionary
  15. Prototyping An Object Pascal Code Editor With Firemonkey In Delphi For Windows And OSX

Wednesday

  1. InterBase Product Address
  2. InterBase Change Views Deep Dive: Deliver Insanely Efficient Data Updates
  3. Simplify Parallel Programming with Patterns
  4. Deep Dive on Beacons and Bluetooth LE with R&D
  5. Hands-on with the Gnostice Document-Processing Framework
  6. BeaconFence Deep Dive: Beacon App Solution Development
  7. Leveraging AppAnalytics in FMX and VCL Apps From Concept to Completion to Deployment
  8. Introduction to Encryption: Understanding Security Algorithm Use Cases
  9. Composite VCL Controls Deep Dive: Techniques for Manual Creation, Component Templates, Frame Components, and Sub-Components
  10. Step-by-Step Guide to Logging Custom Data in CodeSite
  11. Rock Solid and Secure Communications for EMS, DataSnap, App Tethering, REST, Web Services, and Raw Indy Sockets
  12. Integrate New WinRT Windows 10 Platform Features Into Your App

Thursday

  1. FastReport Deep Dive: Build Efficient Multi-Thread Reporting
  2. FixInsight Deep Dive: Squashing Bugs with Static Code Analysis
  3. Parallel Programming Deep Dive: Task Monitoring, Locking, Pools, Patterns and more!
  4. TFrameStand Deep Dive: Build Visually Stunning and Consistent UI/UX with FMX Frames
  5. InterBase Tips and Tricks: Quickly Get Up and Running on Windows, OS X, iOS, Android, and Linux
  6. Background Tasks and Inter-App Communication with Android Services and Intents
  7. Create IoT solutions with Delphi and Arduino
  8. Debug Tips and Tricks: Effective Multi-Device App Debugging Strategies for Win32, Win64, OS X, iOS and Android
  9. NoSQL with MongoDB and FireDAC - Part 1 & 2
  10. Understanding the IDE/PAServer toolChain
  11. Using Sensors in Windows 10 with Delphi
  12. Simplify MultiThreading with System.Threading for Mobile and Desktop Apps

 


 

C++ Track

 

C++ Product Address

QA

Will the ilink64 be updated for large projects soon..? large C++ project can still not be compiles / linked with debug information?
R&D is looking at thelinker and capacity.

I wonder which language (and toolchain) did you guys used to build these C++ and C++11 compilers..?
C and C++

What are the steps needed to migrate existing C++ code from classic compiler to clang?
Turn off the classic compiler option. and recompile.

When is C++11 or Clang-enhanced support coming for OSX?
No time line currently.

Android background execution has been covered in detail in blog posts, however there has been little discussed about iOS. Jim wrote a blog post and briefly said that one must select the entitlement in Project Options, however didn't explain how for example one would execute a background fetch request in iOS
Project Options VersionInfo - look for the iOS background flag

What happened to the windows phone support?
For now, APK runs on WIndows 10 Phone if you have the Astoria beta.

Will component libraries be specific for classic or clang?
Different compilers have different component libraries. 

Why are many releases are there still fundamental problems generating Delphi RTTI for C++ classes which affect custom api classes and render them useless?
Delphi RTTI and C++ integration - handled - DocWiki info. Bruneau Babet sesison from CodeRage 9 - has additional tips - https://www.youtube.com/watch?v=LtYB1_AZy6I

The new C++ Builder Seattle 10 version seems to have some enhanced editing features, compared to previous versions. Is there any video or link to all these new features? Other IDE features in the roadmap, such as Castalia for C++?
You can look at the DocWiki "Whats New in 10 Seattle" page - for the IDE integration's and enhancements in the editor.  you'll see matching statements and blocks for example.

Several people on the newsgroups concluded that the Clang-enahnced C++11 compiler for Win32 just isn't production-ready. Any ETA on fixes/updates?
I don't know of any issues compiling C++11 projects - except for those C++11 features that are not implemented in the Clang-enhanced compiler versions we use.  Newsgroups people can report problems with Quality Portal for specific items.  Always check the C++11 status page on DocWiki if you are wondering about which C++11 language features are not supported yet.  Ask for specifics or point me to the newgroup threads and we can discuss at 12noon meet the C++11 compiler team session.

 

Blog Notes

http://community.embarcadero.com/blogs/entry/coderage-x-c-product-address-blog-notes

 

 

Build a Push-Enabled Mobile App with Parse - C++ track - 6am Tuesday

Mobile Tutorial: Using Remote Notifications (iOS and Android)
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Mobile_Tutorial:_Using_Remote_Notifications_(iOS_and_Android)

Push a notification from your desktop app to your mobile apps with Kinvey BaaS
https://www.youtube.com/watch?v=N2_KA3LEWYw

Android Push Notifications using Google Cloud Messaging (GCM)
https://www.youtube.com/watch?v=CKLB6ihKDVQ

Push Notifications
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Push_Notifications

Setting Up the Messaging Service
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Setting_Up_the_Messaging_Service

Multi-Device Application to Receive Push Notifications
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Multi-Device_Application_to_Receive_Push_Notifications

BaaS Overview
http://docwiki.embarcadero.com/RADStudio/Seattle/en/BaaS_Overview

Using the Cloud Service to Send Push Notifications
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Using_the_Cloud_Service_to_Send_Push_Notifications

REST.Backend
http://docwiki.embarcadero.com/Libraries/Seattle/en/REST.Backend

QA

Say you passed through extra JSON data in the extras such as a user id as you only wanted to target a user with that ID. How would you intercept that push notification before FMX displays it, perform some logic and then manually fire a local notification if necessary?
You can do whatever you want with the data.

But how does the code execute if the application is not running?
Three states for your app and push notifications:  installed on your mobile device but not running, installed and running, installed and pushed to the background.  All 3 states will come forward if a notification is received.

What about iOS? For example at the moment I have tried to when a push notification comes in create a method which would read the extras and then if the user ID matches the defined one then it would fire a local notification. However when the app on iOS is not running or in the background nothing happens and the code is never executed when looking in debug - but when it is running it works
Same notification process for iOS - as long as you turn on notifications for the app in your settings or when the app first loads and iOS asks if you want to accept push notifications for the app.  you can use the settings app to turn notifications on/off for each app.

Have you got a link we could have to these sessions?
Push a notification from your desktop app to your mobile apps with Kinvey BaaS
https://www.youtube.com/watch?v=N2_KA3LEWYw

Android Push Notifications using Google Cloud Messaging (GCM)
https://www.youtube.com/watch?v=CKLB6ihKDVQ

Mobile Tutorial: Using Remote Notifications (iOS and Android)
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Mobile_Tutorial:_Using_Remote_Notifications_(iOS_and_Android)

 

 

 

Enterprise Mobility Services - Creating EndPoints, Push Notifications and Custom Logins - C++ track - 7am Tuesday (OP + CPP)

Enterprise Mobility Services (EMS)
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Enterprise_Mobility_Services

Setting Up your EMS Server
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Setting_Up_Your_EMS_Server

Extending the EMS Server
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Extending_the_EMS_Server

Developing an EMS Package
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Developing_an_EMS_Package

EMS Push Notifications
http://docwiki.embarcadero.com/RADStudio/Seattle/en/EMS_Push_Notifications

Installing the EMS Server or EMS Console Server on a Production Environment
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Installing_the_EMS_Server_or_EMS_Console_Server_on_a_Production_Environment

QA

Can i execute REST server class methods inside a thread on server side not client to make rest calls much faster on the server?
EMS is REST based. In the EMS endpoints you can connect with databases, with other rest servers, etc.  whatever you need in your business logic.

Does Datasnap has memory limit?
No limit - other than the server itself.

Can we have the link for licensing details please?
EMS pricing at the bottom of this link:  https://www.embarcadero.com/products/rad-studio/enterprise-mobility-services

Having a DataSnap application, is it possible to add this EMS technology to make use of different clients, analytics, console, etc.?
You can use them both - as long as the TCP/IP/HTTP ports don't collide.

Having a DataSnap application, is it possible to add this EMS technology to make use of different clients, analytics, console, etc.?
DataSnap is a general SDK (software development kit) that enables you to build middle-tier applications. It has a rudimentary framework for authentication and authorization, but you must implement the details manually.

The same code works for Windows10, Android and iOS?
Same code works on WIn32, Win64, OSX, iOS and Android. For Windows 10 we are testing Microsoft's Project Astoria which lets Android APK files run on Windows 10 Phone.  We have video to show this working on Microsoft Lumia Windows 10 Phone. THere is more R&D research we are exploring to work with what Microsoft is providing.

 

What's New in FireMonkey 10 Seattle (OP and C++)

 QA

It would be a nice idea to integrate a Firemonkey and VCL styles "Comunity Repository", maybe accessible using "GetIt", where all community users could share their own custom styles.
Good suggestion - will pass this along to Product Management.  We can put just about everything into the GetIt repository :D

What about if there is no DnD service?  We want a multi device (large format) app that supports drag and drop using typical TreeView / ListView type design.  AFAIK there is no DnD platform service for Android and iOS.  What happens then?
The whole idea about platform services interfaces, you can test to see if a service exists on the running platform.  You should not assume a service exists. If it does not exist, you may want to develop a custom service for a specific platform, menu service, etc.  For Drag targets - ListBox, ListView should be drop targets.  Not sure about TreeView.

 

Beyond FastReport Basics: Essential Reporting Strategies

Download Slides and Sample Code
http://www.jensendatasystems.com/coderagex

Learn more about Delphi Developer Days
http://www.delphideveloperdays.com

Learn more about Delphi in Depth: ClientDataSets 2nd Edition
http://www.JensenDataSystems.com/CDSBook

Upcoming events featuring Cary Jensen (Nov 2015)
EKON 10, Cologne, Germany, 2-4 November
http://entwickler-konferenz.de/2015/de

Contact Cary Jensen
http://www.JensenDataSystems.com
http://caryjensen.blogspot.com
http://twitter.com/caryjensen

 

 QA

Is FastReport compatible with DataSnap? I mean, the server prepare and send data to the client side where FastReport do its task.
Yes - you can have datasnap feed data from middle tier to client apps. Get a dataset on the client and do whatever you want including creating reports :D

How do you get Fast Reports?
Free Download of the Embarcadero Edition on your registered user downloads. You can also get the higher level pro version as part of RAD Solution Pack.  You can also upgrade to Fast Report company.

Is there some way to migrate from RaveReports?
Yes - Fast Report has converters for many report systems including RaveReports, QuickReports, etc.

I am working with Fast Report for a long time already and still get the chills when thinking about the time before FastReport (Quick report aarghh) thanks for maintaining FastReport.
Great Testimonial!

I've build a non visual unit that handles my complete fastreport from code.
Cool - thanks for confirming non-ui use of FastReports

If i would like to export a report to pdf and send directly by email.. any tips on how to do go about this.. what are preferred ways to do this.
You can create a Fast Report and then create a PDF with it. you can use the Project Indy SMTP component to send an attachment.

If i would like to export a report to pdf and send directly by email.. any tips on how to do go about this.. what are preferred ways to do this.
Suppress the Printer dialog and export to a file, then attache it to an email - using email components or low level SMTP via Indy or other libraries/components.

For the pricing of fastreport professional i cannot live without my customers being able to design their own reports.. cool feature
https://www.fast-report.com/en/buy/

 

FireDAC Beyond Basics: How to Simplify Robust Database Interactivity Using Single and Multiple DB Scripting

QA

Seeing as I am new to FireDAC Databases architecture, is there an equivalent database desktop product that ships with RAD studio, something that replaces the old Database Desktop Studio for FireDAC?
In the IDE you can use the Data Explorer to look through databases. You'll find the Data Explorer as a tab on the Project Manager Window. You can also open via the View menu pull down in the IDE. There is also the FireDAC Explorer app - this is being shown right now! by Miguel.

Will FireDACs implementation of Oracle ever not require the Oracle Client to be installed? (See DevART's UniDAC or OraDAC components).
Will pass this along to Product Management and R&D. For now you need clients involved for most SQL databases except InterBase IBLite/IBTodo and SQLite.

Is there also a code highlighter accompanying the FDScript.. ?? or would you need to do this yourself.. with scintilla e.g
FDScript component SQL script just uses the TStringList editor - so it does not have highlighting - you can use other tools and paste script into the property. You can click on the Code Editor button to bring the script text into the code editor in the IDE and do more there. 

Can the export handle images / blobs?
Yes

Does TFDScript component spawn database vendor command line utility or execute SQL commands by passing to directly to vendor DBMS?
Under the covers FireDAC is going direct through the client drivers and is not running any command line tools.

 

Join the Conversation: C++11 Development for Windows, iOS and Android

C++11 Language Features Compliance Status
http://docwiki.embarcadero.com/RADStudio/Seattle/en/C%2B%2B11_Language_Features_Compliance_Status

Automatic Reference Counting in C++
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Automatic_Reference_Counting_in_C%2B%2B

 

QA

Will the classic compiler be used by default for existing projects?
Yes for Win32 adn OSX.  new pojects default to old for Win32.

When we can create services for Android in C++ Builder? Thanks
Being worked on no date.

Perhaps i am getting ahead of myself but when i am working with 64 bit development using VCL.. i am able to enable output all warnings.. however there are quite a lot warnings that concern issues about backwards compatibility (... is unsupported in C++98) is there a way to set compilation to strict c++11 and ignore warnings concerning features that will not work using C++98 / C++03
You can turn off warnings using CC1 mode otherwise it is C++11

With the bcc32 compiler i am able to enable/disable certain warnings (with a unique number).. .with clang compilation there seems to be no error / warning unique numbers attached.. is there or will there be a feature to enable/ disable specific warnings... other than using the "additional options to pass to the compiler" (as not all warnings can be disabled like this AFAIK)
Yes that's true. Being thought about for future consideration. if there are specific warnings you want in a group - let us know

In the IDE units will not be properly linked when we use the new Header guard #define once.. is there some reason for this (like am i missing some setting) or is this something that will need fixing
#pragma once?

With clang used for both 32bit and 64bit compilers will this also result in new language features to be faster available (like c++14 and future)
Yes - that is the goal in working with Clang enhanced compilers.   On 3.3 and workign towards 3.7

What about with boost 1.59. support? Possible?
We'll keep moving forward with Boost. takes time - a large library.

What does the option "Force c++ compilation" do... when would i use this.. is this better when you only code in c++ or is it a legacy option?
If you have a .C compiler - this tells the compiler to treat it as C++ file

Using PCH will this only help speed up the compilation process or are there more benefits..? i don't really get why of when to use this.. other than the compilation process.
That's it!  It does yield great speed benefits if you set up your header files correctly.

Is the new 32bits compiler exactly equal to the 64bits compiler? Because i have a program compiling, linking and running without problems on 64 bits Windows. But on new 32bits i get 36 linking errors on the same program. Or is this something for Technical Support.
Depends on what the errors are.  Are you linking 32 bit objects in 64 bit world?  Post something in public Quality.Embarcadero.Com - quality portal or call dev support.  wants to see the error messages - send email to This email address is being protected from spambots. You need JavaScript enabled to view it.

Can we as developer use the big data access (> 2 GB) too. If jey , how this will be done?
There are flags to the link to build win32 large memory model.

Also will Visual Studio 2015 play well with Seattle 10?
Yes.

Even with parallel compiling, the clang compiler takes much longer to compile our project.  It also doesn't detect which files have been changed: it tries to compile every file in our project.  Is this a bug or something that will be fixed soon?
Sounds like a feature lacking. with first release of CLang Win32 - we didn't generate dependency records in the .OBJ file. This on our release roadmap. We always have to spend time to do things to speed up Clang enhanced compilers.  THe BCC32 old classic compiler does compile faster.

We cannot link our existing projects using the clang compiler, building a static .exe.  After getting all units to compile in our project with clang we still get a linker error: [ilink32 Error] Error: Unresolved external '___seh_personality_v0' referenced from C:\SRC\AUTOAPPS\MARKETING\RELEASE_BUILD\MARKETING.OBJ
That error usually means that you are linking with RTL for the classic compiler instead of the BCC32C compiler.  check your directory definitions and also check the link line to make sure libwin32c is first and then later the libwin32.

Wasn't the 32bit clang compiler based on v3.1 and 64bit on 3.3?
Desktop compilers are 3.3. android/ios on 3.1. IOS64 is on 3.3

Using the clang compiler, we had to manually add any of our 3rd party tools into the include path and link libs (fastreport paid, tms advanced grids).  We didn't have to do this with the classic compiler and this makes our project dependent on exact install paths for these 3rd party components.  Is this something that will be fixed in the future or will we need to be sure all of our developers install all 3rd party components in the exact same drive:/path?
Check with your tech partner products to make sure they are putting their compiled components and libraries (especially if they are written in Delphi) and that they follow the same patterns for directories.  If the HPPs are from the tech partner - they should be usable for both clang and classic compilers.  YOu normally don't need anything special. This email address is being protected from spambots. You need JavaScript enabled to view it.

If I have Visual Studio 2015 which will also support Clang, will it interfere with Rad studio?
All good there is no sharing of Clang compilers or toolchains.

There is an option to enable "full debug information" will this mean there will also be an option (like "selective debug  information" in the future where you could select for wich units you would like debug to be enabled?
Full debug info tells the tools to go beyond the first level of debug info.  you can say I want less debug information.  you can do a "thorough" to put info in every obj or minimal.  email us  This email address is being protected from spambots. You need JavaScript enabled to view it. or This email address is being protected from spambots. You need JavaScript enabled to view it.

If i want to request specific warnings.. to be able to disable .. would you like that i put this in quality.embarcadero.com or via email.. what would you prefer?
Put them in Quality.Embarcadero.com and also send email to This email address is being protected from spambots. You need JavaScript enabled to view it.

Is the new 32bits compiler exactly equal to the 64bits compiler? Because i have a program compiling, linking and running without problems on 64 bits Windows and classic 32bits. But on new 32bits i get 36 linking errors on the same program. Or is this something for Technical Support.
Bruneau discussed this - send me the linker error messages so we can track down what is going on.

When will the IDE itself be built with the IDE!  I always admired this about Borland/Inprise.  Your tools build crossplatform apps?  Prove it!  Build your own app for MacOSX.  PS. Support Linux ;)
We build the IDE on a continuous build system and test the ide int he ide.  we also automate test the IDE as part of the build process.  The IDE uses a mix of VCL code and other windows specific technologies.

I'm coming from Visual Studio 2013 and MFC, what's the best switch with Embarcadero?  Clang + FireMonkey?
If you want to build multi-device apps - them FMX + C++Builder.

I am using a lot of templated code in my projects are there methods in the IDE (or seperate tool that is provided with c++ builder installation) that could process my code and replace all templated versions (of the code that i produces , excl std::map , std::vector ofcourse) with the static versions.. sometimes it appears that the debugger does not really like my templated classes.
You can create your own code templates for the IDE - http://docwiki.embarcadero.com/RADStudio/Seattle/en/Creating_Live_Templates

I am not sure what live templates are but i meant C++ templates (generic programming) what are live templates for?
Live templates allow you to short cut adding code in the editor.  For C++ templates, you can use your header files and other files. sorry to confuse things.

Are there additional tools that can integrate with embarcadero to provide static code analysis?
We have audits and metrics command line tools that do static analysis of C++ and Delphi source code.

Could you tell me ..what are the names of these command line tools?
http://docwiki.embarcadero.com/RADStudio/Seattle/en/C%2B%2B_Audits_pane
http://docwiki.embarcadero.com/RADStudio/Seattle/en/C%2B%2B_Audits_Configuration_dialog_box
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Running_C%2B%2B_Audits

 

 

Meet OpenWire Studio, Visually Develop Processing Solutions Code Free

 www.mitov.com

www.openwire.org

www.igdiplus.org

 

 

DataSnap Deep Dive: Building N-Tier Applications

QA

malformed JSON parameters sent to a DataSnap method running in Apache 2.4 can cause Apache to restart.  Is there a way to prevent this restart and intercept errors inparameters passed inr?
Post something to quality.embarcadero.com if there is an apache log and save the JSON to a local file if you can before apache crashes?  Web log might have info?

Very happy to have native http support.  In fact ... Woo Hoo!
Yes- Native HTTP for all platforms in 10 Seattle for EMS, DataSnap and Cloud API.

What about XML instead of JSON?  A couple of years ago I did a C++ Datsnap server and the XML support was a bit shaky.
you can do custom data strings for methods and put xml with the results and send.

I think it was MArchlObject that rendered the objects into XML.
yes- you can do custom marshalling of objects and such

Do you have demo's incl. callback in C++? Wasn't this the C++Builder session?
Kelver will do this.

Is it possible with datasnap to use a binary format instead of json?
You can return a string or other objects - you can have json representations.  using HeavyWeight Callbacks you can send whatever you want back and forth.

At the time the Delphi DS worked much better du =e to the RTTI
http://community.embarcadero.com/blogs/entry/coderage-x-resources-for-c-and-object-pascal-tracks

 

Amazon Web Services Programming with C++ and Delphi

QA

How does one log a quality report?
Go to quality.embarcadero.com. log in with your EDN account.  Click on the Create menu item - fill in the form. We use Jira internally and publicly.

Are there fees to pay to Amazon?
Fee schedules are on the amazon services web sites.  simple storage service, EC2, etc are all priced check them out

Will there be libraries for Google as well as AWS and Azure?
Our Cloud API supports Amazon and Azure.  TMS Software has a complete cloud component pack for a lot more services. you canalso just use REST calls :D  REstCLientLibrary

Full Demo Source Code
http://community.embarcadero.com/blogs/entry/my-amazon-web-services-programming-with-delphi-coderagex-session

 

 

BeaconFence Deep Dive: Beacon App Solution Development

Try BeaconFence for Free!

 

 

Leveraging AppAnalytics in FMX and VCL Apps From Concept to Completion to Deployment

Try AppAnalytics for Free! 

 

 

Hands-on with the Gnostice Document-Processing Framework

More Info

http://gnostice.com/CodeRage.asp

Twitter
@Gnostice

Google+
+Gnostice

 

 QA

This component/library is some external third party paid solution right? Or do Embarcadero offer this in some way to users?
Available separate - direct from Gnostice

Those are electronic forms or paper forms that must be digitalized by your component, before to upload the data?
interactive forms - PDFs that contained forms. Showed OCR near the end.

So is the FM Viewer actually vieiwing PDF files, or does it view the results of converting the PDF to an image?
Its rendering the documents on the report page. resolution issues sorted out - vector rendering.

Is the Fimre Monkey support available with the PDF Toolkit license, or only with Xtreme Doc Studio?
VCL for now. DataSnap viewer works in Client/Server edition. Working on FMX native rendering for Word formats in a few weeks.

Can the ExpAcc demo be accomplished without the DataSnap server? If so, how?  Some of us only have Rad Studio Professional.
That is coming in the next version - November

I saw something on Gnostice's website that they have improved their licensing.  Could you review the changes?
Just developer licenses and build what you want royalty free.

Is there an upgrade from PDF Toolkit to XtremeDevSystem?
Yes - contact Gnostice.  25% for existing customer to upgrade

So I can pick up a PDF on MacOSX and show it straight in a viewer control?
Right now yes - for Mac they are using native rendering.  Using the FMX control on the Mac.

So FireMonkey is not showing the PDF?
Windows FMX support is not complete yet - soon.

Can we view PDF on Android?
Working on it. First Windows, Mac, iOS for all formats shown.  Then Android next.

 

Deep Dive on Beacons and Bluetooth LE with R&D

QA

Could this beacons be use to make mesh like connections?
Beacons just transmit a small piece of info - they don't receive.

 

InterBase Product Address

InterBase Blog Stephen Ball
http://delphiaball.co.uk

@DelphiABall

Learn more about InterBase >

 

QA

Is the VAR agreement charged per year?
Best thing is to chat with the sales team and based on how you work, what you're deploying and they can customize what you need for InterBase Var licenses.

Is there a feature matrix of the various versions (esp. IBLite and IBToGo -- the only one I could find on the web was for version XE3?
http://www.embarcadero.com/products/interbase/product-editions
http://www.embarcadero.com/products/interbase/interbase-feature-matrix-xe7.pdf
How different is changeviews from merge subscription of sql server?
Merge Subscription for MSSQL server is just a way to do the setup of the triggers and log tables https://technet.microsoft.com/en-us/library/ms151769(v=sql.105).aspx InterBase Change Views doesn't require log tables or additional triggers making it a lot more scalable to multiple subscribers.

Perhaps a little different than change views (but related), what is the best way to track all changes to the database, including who made the change, for audit tracking purposes?
Change views is not about auditing. if you need to do an audit then use triggers to log the user and the change being made.

Which version of IB can be a publisher, can iblite subscribe to tbtogo version?
InterBase Server is required for remote devices to subscribe - Anything can be used to store the data you fetch from InterBase. InterBase ToGo will allow you to subscribe to data changes locally to enable 2-way data movement.

Is changeviews across platforms, can i subscribe to linux IB install from windows desktop?
Yes.

Is conflict resolution managed automatically by IB?
This is down to you to manage. I think the Current mechanisms in FireDAC will do this when you use the MergeDataSet method

I have the rad xe10, to test this out what extra is required on IB license?
IB developer edition comes with 10 Seattle trial or purchase.  To Deploy you'll need deployment licenses for IB Servers or ToGo or Desktop.  IB Server Trial lets you test, stress test you apps with InterBase.

 

InterBase Change Views Deep Dive: Deliver Insanely Efficient Data Updates

 Learn more about InterBase >

 

Introduction to Encryption: Understanding Security Algorithm Use Cases

Blog Post and Source Code

http://robstechcorner.blogspot.com/2015/10/coderagex-security-session-files.html

Delphi Encryption Libraries

LockBox - Available via GetIt Package Manager

TForge

Torry

Eldos - SecureBlackBox

 

Additional Information

Wikipedia

Open Web Application Security Project

Stanford Cryptography 1 - MOOC

LockBox - Available via GetIt Package Manager

TForge

Torry

Eldos - SecureBlackBox

OpenSSL

 

C++ Encryption Libraries

Crypto++

OpenSSL

Platform APIs - Each Platform has a unique set of API that can be called.

 

QA

Do you recommend RSA key length higher than 2048, or 2048 is enough for everyone?
2048 for a server is fine. certificate - 4096 speed might be slower.

How to use HMAC to avoid man-in-the-middle attack?
Takes a key that is shared on both sides - creates a hash that you can use to encrypt the data and a new hash so that you can make sure nothing is changed along the data path before receipt.  HMAC is only as good as the key you use to secure it.

 

Step-by-Step Guide to Logging Custom Data in CodeSite

Learn more about CodeSite >

Download Session Materials

raize.com/Sessions/CodeSiteCustomDataCPP.zip

 

QA

Should passwords be stored in an App? What about security?
You can put passwords outside of the app. there are events hooks on send/receive to intercept the data streams and encrypted/decrypt the data. Also, For the TetheringManager you can add a Password.  When you want to make a Manager private, you have to fill in the password because if another Manager wants to pair with you, it needs to know this password to be able to pair

 

App Tethering for VCL and FireMonkey using C++

Refactoring of the App Tethering Communications in Seattle
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Refactoring_of_the_App_Tethering_Communications_in_Seattle

App Tethering Customer Examples

Mobile Bar Code Scanner App Tethers To Desktop
http://fixedbycode.blogspot.dk/2014/04/fun-with-delphi-xe6-app-tethering-and.html

Chatroom
http://otapi.com/2014/11/22/app-tethering-part-3-resource-updates-and-temporary-resources/

 

QA

What about Windows 7 an App Tethering?
Its all good - you can tether apps on different versions of Windows, OSX, iOS and Android.  We test with Windows 7,8.x,10.  We've tested the other platforms as well.

How many simultaneous users can tether to a desktop application?
No real limit for network/wifi.  For Bluetooth Classic - you may have to extend the discovery timeouts for tether and profile depending on network traffic or use of BLuetooth Classic.

 I think on customers arriving to their services premises, as restorants, gyms, telcos, etc., beeing "captures" by this technology to offer them or locate them on their databases. Is correct to think on this kind of apps with Tethering?
You could use tethering or beacons for this.  One of the apps Al talked about was a customer example that combined tethering and beacons together.

 

Simplify MultiThreading with System.Threading for Mobile and Desktop Apps

QA

Why are you using a Lambda in TTask::Run, is it also possible without lambda ?
You can use a Lambda or a method. I used a lambda to show support for C++11 on Windows, IOS and Android

Is TTask usable also in other situations as IoT apps, where devices could be answer at different speeds?
Yes absolutely - waiting for data from devices, networks, databases, IoT systems are great places to use threads to wait and process data as it arrives leaving your app to do other things in the meantime.

I played around TTask::Create() to run hundred/thousend different tasks. This seems to create one "Worker thread" for each task, all tasks execution is "pooled" using the global TThreadPool. But once the task has completed its execution it remains in memory. How can I remove them?
You can choose to control your own thread pooling - there is an optional parameter you can use. I will check into what is going on with the "worker thread" - when the app shuts down those should stop for sure.

Where can the code examples be found for the Parallel and TThread concepts?
http://cc.embarcadero.com/item/30421

 

FastReport Deep Dive: Build Efficient Multi-Thread Reporting

Learn more about Fast Report >

 

TFrameStand Deep Dive: Build Visually Stunning and Consistent UI/UX with FMX Frames

Coming soon...

 

FireDAC Migration Made Easy: BDE, dbExpress, AnyDAC and Non-Integrated FD to Full FireDAC

Online Documentation for FireDac
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Migrating_to_FireDAC

 

QA

UniDAC provides direct access for all databases for mobile platform:
https://www.devart.com/unidac
FireDac provides direct access only SQLite for mobile platform.
Now it is necessary to use DataSnap+FireDac for mobile platform.
When FireDac of equal opportunities with the UniDAC?
FireDAC can access SQLite, IBLite and IBToGo directly on mobile.  There are some limitations to UniDAC/DevArt DirectMode depending on the database - you can see the list on DevArt site.  I will forward your request to our R&D and Product Management teams. You can find their list on the DevArt site - Direct Mode compared to OCI mode.  FireDAC using OCI client driver APIs means we have no limitations working with all of the Oracle features and latest releases.

Do you have a good hint where to find a comparison table for the available databases (Interbase, Firebird,..)
http://docwiki.embarcadero.com/RADStudio/XE8/en/Database_Connectivity_(FireDAC)

To switch to another database - eg. Firebird -> MySQL you only have to change the FDConnection and eventually the SQL-statements?
As long as there are common tables and meta data columns, etc for each database if you switch.  If the databases are different you can always quiery the metadata and field types to have code to deal with the differences.

Why FireDAC FDQuery consumes large memory, and is there a way to reduce that memory leak?
FDQuery - you can set how much data is returned at a time - # of rows and as you move through using the cursor.  By default there is a limited RowSet, but you can choose to do more or to get it all.

What components are included in FireDAC Client/Serve Add on? And are they like TDataSetProvider & TClientDataSet?
You can use TClientDataSet if you want - but using FDMemTable in FireDAC is even better.

How about calculated fields?
FDMemTable or FDQuery - you can do calculated fields.

No Not that I meant using Fatch All mode but using less memory. Hint reducing is one thing InlineDataSize is there another tips that can reduce memory consumed by FireDAC?
By default, FireDAC will do miminal memory use, data windowing, etc.  Don't use FetchAll unless you have to absolutely.

 

Understanding the IDE/PAServer toolChain

Embarcadero DocWiki Links 

PAServer, the Platform Assistant Server Application

paclient.exe, the Platform Assistant Client Application

Setting Options for the Platform Assistant

Installing the PAServer Manager on a Mac

Installing the Platform Assistant on Windows

Running the Platform Assistant on Windows

Installing the Platform Assistant on a Mac

Running the Platform Assistant on a Mac

Troubleshooting: Cannot Deploy to the iOS Device

Troubleshooting: Cannot Deploy iOS App to iOS Simulator

 

QA

Does latest version of PAServer works with earlier Delphi versions?
Each PAServer version is locked to each release of the IDE. You can have multiple versions of our IDE and multiple versions of PAServer(s).

 

Create IoT solutions with Delphi and Arduino

Free Open Source Libraries

openwire.org

igdiplus.org

QA

Why is the term "Shield" used?
Shields are the piggy back boards. the shape of the board "shields" the arduino board. but don't know origin.

Does include/simulate every sensor of the today real world? ... will be updated with new ones?
There are a large # of sensors/devices that are supported. And Mitov is adding more support for additional sensors and devices.  https://www.visuino.com/

 

InterBase Tips and Tricks: Quickly Get Up and Running on Windows, OS X, iOS, Android, and Linux

References

Register IBLite/ToGo

DocWiki on Setting up IBLite/IBToGo

DocWiki on Server Properties

Python Driver

Visual Studio Connection via .NET

InterBase Command Line Tutorial

 

Full Demo Source Code
http://community.embarcadero.comhttps://d3an755jegtaaw.cloudfront.net/uploads/423/Coderage2015.zip

Blog

http://community.embarcadero.com/blogs/entry/more-interbase-connection-strings-than-you-shake-a-stick-at

QA

May be this is a basic concept but I'm confused about it: for what are multi-instances?
you can run mulltiple instances of interbase servers, different versions of interbase using separate ports and names in the Services file.

Another question: always I need to modify some aspects of the structure of database file and don't know how to automatically update it on every custumer, just as I could do it with applications using InstallAware for example. Is there some tip to do that?
create sql script files and use ISQL command line tool or use a C++ application to run SQL Scripts. You can use IBConsole as an interactive user. if you want automated, then ISQL or your own app.

Why does it is needed to register all Interbase installations?
All Installations need registrations of the license keys for # of users/connections to an InterBase database instance. For VARs, ISVs etc - they sign a legal contract that gives the license file (.slip file) - you put those on the servers and you are done.

Debug Tips and Tricks: Effective Multi-Device App Debugging Strategies for Win32, Win64, OS X, iOS and Android

Resources

Debugging Applications Index

Overview of Debugging

Debugging Multi-Device Applications

 

QA

Are any means to timeit loading different modules in the app? I feel as that our app on many BPLs is slow starting from the network location because of some module or just their count.
There are options to delay load.  you might use a profiler to see what is happening in your app - AQTime by SmartBear, CodeSite or other logging tools to see the time.

 

NoSQL with MongoDB an FireDAC - Part 1

MongoDB Installation

Straight forward install 

Tutorial MongoDB.org

Tutorial DocWiki

 

MondoDB Documents Creating

Write Concern

 

QA

I thought noSQL stood for Not Only SQL... i believed this means you could use SQL and other techniques together?
It does stand for Not Only SQL sort of. It is really a vauge term. But most all NoSQL databases I am aware of do not support SQL at all. Well, at least I've heard that it stands for NoSQL. NoSQL isn't an official acronym or standard. It actually originated as a Twitter Hashtag for a database conference where people were going to talk about NoSQL databases for the first time. So I believe the conference was SQL + NoSQL databases, so therefore it makes sense to say "Not Only SQL". But the database itself does not support SQL.

is this similar to how we would talk agains cloud databases like kinvey?
Yes. Parse and Kinvey use MongoDB behind the scenes.

In Win32, what is the best way to inspect an item in a STL container, such as vector, at a particular index?
Visualizer API is available to create custom visualizers.  you can use Inspect to see the fields/values, methods, etc.

Do you consider supporting even more NoSQL DBs such as Percona?
We do a developer survey to help decide what features to add. If those other databases are important be sure you complete the developer survey and indicate it as such.

NoSQL with MongoDB an FireDAC - Part 2

QA

Will we ever use gdb for debugging Delphi&C++ Win32/64 apps?
We use GDB under the covers for Android debugging. Not sure why we would use that on WIndows as the OS gives us all the debug hooks via APIs.

Which CPU instructions in CPU View are not get decoded (yet) ? :)
None that we know about - post an issue in Quality.Embarcadero.Com if you find any.

What you see when debugging on ARM?
CPU View will show ARM processor info - instructions, registers, flags, etc.

What is Add module for?
To add a module that you need loaded for your application to be debugged.

Whys so many times you can't watch a variable due to Optimization?
The optimizer can remove statements, variables, move things out of loops, etc.

Would be great to save the list of watched vars and breakpoints between the IDE sessions. I don't like to use dsk file for that.
There are IDE Tools APIs you might use to build your own save/restore tool to a different file.

How do you enable Memory view when debugging?
View menu - debugger windows - memory 1, memory 2, memory 3 memory 4 - there are also shortcuts.

I have a rest server that open large data (50,000 records) with FDQuery and saves it to stream and send it to client via TRestRequest call. The task manager shows the working set for the process reaches 450 MB, and that is for one client call. How can i reduce that large memory usage to handle mutiple requests on server normally?
Send less data, send only the rows you need, do more processing on the server or middle tier. those are some suggstions. Compress the data if it is strings/characters?

 

 


 

Object Pascal Track

 

Delphi Product Address 

Learn more about Delphi >

 

Delphi Tools & Components

InterBase Server and IBToGo

Enterprise Mobility Services (EMS)

BeaconFence

Embarcadero AppAnalytics

Konopka Signature VCL Controls

CodeSite

RAD Solution Pack

 

Build a Push-Enabled Mobile App with Parse

Object Pascal Demo Source Code
http://cc.embarcadero.com/item/30417

 

 Update Your Apps UI/UX with the All New Windows 10 Look and Feel

Content will be added soon.

 

DataSnap Deep Dive: Building N-Tier Applications

Full Demo Source Code

http://cc.embarcadero.com/item/30418

QA

Do it mean that the Datasnap use of Indy is not supported anymore, or is it only deprecated, but still available?
At the client side, yes. Your client application will use the native HTTP OS library.
But it doesn't mean that you won't be able to use the Indy components... they're still there!

Can this be used to implement OAUTH2 on the server?
Yes, it can, but keep in mind that Datasnap will always use its built-in session control.

Could I set button visible status to false based on role found when logging in?
Your interface rules will probably be on the client side, while the roles are on the server side. So, I can't see an automated way to do this kind of control. In any way, you can create a Method that returns to you the Roles assigned to the user, and than take your decisions at the client side.

What .NET version us needed for secure transport?
AFAIK, Datasnap secure transportation doens't have .Net dependencies. It's based on your own filters(RSA or PC1) or based on the webserver (SSL) it's running it.

So since I can create an OAUTH Service Provider with Data Snap, do I have the ability to offload my session managment to my own classes that handle session consistency and availability?
Unfortunatly no. Datasnap will always create the sessions on it own way, and will expect that the subsequent requests will have the Pragma header with the dssession id. If you don't send this information, it will create a new session for each request. Of course this sessions can be freed, or you can set it expiration time to a shorter period, but it will allways create those sessions.

Is it usable to cache on both sides?
Yes, it is! But ther's no rule, it will always depends on the context of what we're talking about.

You only need to specify the filters on the server side of the application, client side just add units to uses.  In fact (learning the hard way), loading the RSA/PC1 filters on the client side will cause issues if you don't use a fixed key.  I use the pc1dynamickey and if you load them on the client side of the program communcation  will not work.  The client will automatically use what ever filters the server says it requests.
Yeah, you're right! Great point! Thanks!

Would server side caching be possible to use if using a php based server querying a MySQSL server (for example)?
Sure! You will do in the same way. You will keep a Memory table openend on your datasnap server and return its data, as JSON, to your PHP application.

You said that Filters are available only with TCP transport? Am I understand well or are they available also with HTTP?
Yes, they are there too, but I never get success working on it. Maybe I always did something wrong :)

I was more thinking of a Delphi based client using a php based server, not php based client using a IIS Delphi server :-)
Oh, sorry! :) So, I also think it's possible! In booth ways. Since we're sending/receiving json, we can just save it's content locally and, sometimes, ask the server if your copy is still valid.. or simple drop it and create again :)

So where sessions are concerned, is there a viable strategy for high-availability persistence of session data so other request threads can pick up the incoming request?
There's no built-in feature on Datasnap to persist session content, although it's a string collection and can easily be saved.

As of Seattle, is it possible yet to tailor the REST endpoint URLs freely (like can be done with most other REST-capable servers - i.e., Node.js, ,,, even EMS)? Specifically, can we map arbitrary URLs to server methods (through RTTI attributes, for example) OR is DataSnap still hardcoded to use name of its server methods?
AFAIK, you should use the same names. You might have this kind of resource using Datasnap Webbroker, where you can create Actions and on your Action, call the the method you want. Not so ellegant, but will works too.

Isn't Firedac connection pooling tied to the httphttps connection or is it possible to use with tcp connections?
Totally possible!

Which is better to use REST jsonreflect technique for client/server system or REST client API?
It depends on your needs. I prefer the FireDACReflection becuase of its productivty...

How do you create custom rest filters for use in datasnap, the 2 built in filters are very limited.
On the slides I put a link to the DocWiki about it. Just search there about datasnap filter or send me an email and I'll send the presentation to you!

How To Skin VCL Apps with Custom VCL Styles

QA

How to select circular icons in the style (like the circular buttons)?
Everything is a rectangle, but it is on a transparent background with the PNG.


If we prefer not to send out a separate sylte file, do you have a good trick for including it into the Exe?  (Or maybe as a field in a table?)
The styles you select from the Appearance dialog get included in the executable.

In the Style Appearance dialog I miss a button for selecting all styles and one deselecting all styles :-)
It can really add a lot of size to include all of them.

Is it possible to select a style for only one form, and use others when viewing other forms?
The styles are across the entire app.

In a multi-developer situation, if one developer creates a style, he has to give that file to the others -- right?
Yes

Great presentation Ray. Is there a performance penalty when using styles?
Not really, just when switching

I'm confused on how much work you have to do to lighten the font color when you make a darker overall style.  Do you have to select each button state and change the font color of each one separately, or is there some more global way to do this?
You will want to make sure all the button states have the correct font.

How does styles work with 3rd party components?
If they work with Windows Styles, then they should work.


If I create component dynamically by programming, is there a way to apply the style to make it work (ie the example you shown with the image on the popup menu)?
It should get the style automatically.

Is it possible to include gray patterns into the styles? Some are color blind and helpless unless there are grey scale patterns available? 
You should be able to.

How do styles interoperate with using 'native' elements?
Those are FireMonkey controls. Most VCL controls are "native"

I have apps in XE2. Under Windows 10, styles seem not to work. Is there a fix?
I know there have been some modifications to VCL Styles since version XE2. I would suggest contacting Embarcadero, or trying a more recent version of Delphi.

How does the styling work "under the hood"?
VCL Styles use a styling/rendering engine very similar to what is used by Microsoft for rending standard "themed" controls. The implementation code is in the Vcl.Styles unit.

 

Beyond FastReport Basics: Essential Reporting Strategies

QA

Is it possible to generate clientdatasets inside the report to enable report specific querying of data from a database using a predfined DataSetProvider?
If you upgrade FastReport to one of the higher levels you can run Delphi code inside the report. Using that feature, I imagine that you could, though I've never tried to do this.


Quickreports is missed, but FastReports is nice but the fact that you have to buy a full version is not helpful. Can you please make all the demos available with Delphi? The FastReport demos folder after Delphi installation is complete  is empty.
None of the examples that I've shown here require an upgrade. That's important. You can do sooo much with the Embarcadero edition. I don't know about the FastReport demos folder

When will the Delphi Developers Day 2016 be announced?
We are working on that now. Probably early in December

The crystal report file converter on the Fast Report Inc site does not work, do you have any info or way to convert Crystal report layout to FR?
Almost all converters have their limitations. I don't have any experience with the FastReport Crystal Report converter. Sorry

Can you use FireDAC inside FastReport?
FastReport can be used with any TDataSet, including FireDAC TDataSets

Whats difference btw. built in FR and the commercial one?
https://www.fast-report.com/en/products/report-for-delphi-fastreport-4-feature-matrix.html/

How do you prevent report printing if no records are selected by the report?
Test the dataset before executing the report.

When it will be possible import reports from crystal reports?
A converter exists now

Can we use FastReport for FireMonkey ? (stable  version ?) is it possible to do thins like preview on Android?
There is a version for FireMonkey

I have seen that all reports are named untitled.fp3. it is better to save them by name in order to launch at run-time?
Yes, give them a meaningful and descriptive name.

Can we separate report design layout outside of the exe? Say, you have a fr3 report which link with a Client dataset, if you want to add an additional summary field, can you edit the fr3 report format outside the exe and have it displayed on the report when the exe is launched?
Yes

Is is possible to combine separate reports into a single print job?
The multi-report can do that, or you can just send them in series.

Does FastReport include options to export report to PDF and/or other file formats?
yes

Gnostice eDocEngine can tie into Fast-Report too.
Nice

What about creating reports dynamically (programmatically - without designer). How robust is that?
Completely possible.

Is it possible to print the total number of pages a report has on its FIRST page? So is there any first and second run model?
yes, it needs to be a 2 pass report, but you may need the upgraded edition.


Run-Time Library Deep Dive: New Features, Improvements, and Changes

Full Demo Source Code

https://github.com/jkaster/RTLPerf

QA

Where is the json workbench found?
http://docwiki.embarcadero.com/CodeExamples/Seattle/en/RTL.JSON_Workbench_Sample

When sending 64 bits integer to Oracle using 32-bits client, I got a blank string while 32 and 16 bits work ok. is this a bug that is fixed now?
Check the issue status on the Quality portal.

Is the use of DBXpress datasnap client with Datasnap deprecated and should be used with FireDAC datasnap client?
Not necessarily depricated, but FireDAC is generally recommended for most things now.


Is GetProductVersion just for Windows.  It would be nice for it to work for all platforms.
It was just for Windows.

how to do DateTime recognition from JSON ie : YYYY-MM-DD (internet) into  DD/MM/YYY (computer)
You have the ability to intercept and customize what is recognized as a Date time so you can modify it.

Please reproduce the youtube deep dive playlist link
Deep dive replay https://www.youtube.com/playlist?list=PLwUPJvR9mZHi2Ks61dV5p-PEUf6Sml7eM

This might have been added in previous version but can you marshal json to type and type to json like we do with superobject and what kind of types are supported if yes?
Yes, that is a big part of System.JSON.

php support very few encoding patterns except the deprecatred encode64. What could otherwise be used in future that support both linux php (Apacche based) and Delphi encoders/decoders?
Just use TNet Encoding instead.

Where are Jim's notes?
https://github.com/jkaster/RTLPerf

 

Flexible and Supercharged Key Hashing with Tdictionary

QA

How large can the Tdictionary get? And will lookup be as quick as a memory access or equivalent?
Should be able to get pretty large. limited by memory.

Is there around some binary trees using generics, like tStTree in Turbopowr systools package? In case, what is fastest when working like 200000 entries?
perhaps. Not that we are aware of off hand though.

Is possible to use operators override with dictionary comparisons?
Only with the Next Gen compiler.

Can you stream out dictionary content to a file?
Yes, there are a few options.

You explained the old Big O notation, what's the new one? Thanks.
It is a way to quantify runtime of a routine.

 

Prototyping An Object Pascal Code Editor With Firemonkey In Delphi For Windows And OSX

QA


What version of Delphi is needed to compile the project?
10 Seattle.

Would it be possible to create a moderately capable general text editor?  If so, how hard would it be to add footnotes?
Shouldn't be too difficult. Some of the features are more complicated

What is the business model here?  You have been paying outsourcers to make an editor that you then give away as open source.
It was mainly an experiment. It was a hobby.

How is it better than the X Seattle IDE editor?
Runs on OS X. It is really designed to run with Delphi 10, not replace it.

When you originally started with this project?
2 or 3 months ago.

Do it support rtf formats?
No, it is a CodeEditor. But you could add it with TMS livbraries. 

Would you recommend Harry Stahl's book?
It was useful because it had a bunch of tips. If a tip saves you a few hours then you win.

Did you hand code the delphi abstract syntax tree or use a library?
Used the DelphiAST.

So if I have a project where it could be of use to include an editor, it would be possible to use the TrollEdge editor in the project?
The code is under BSD license, but some of the other libraries are under different licenses. But if you had all the licenses you would be good.

How many hours all developers putted in combined?
About 300 hours.

Could this be a syntax editor that could be incorporated in other delphi projects?
Yes

Can one compile under OS-X without having Delphi available?
No. It is just an editor. The Delphi compiler is separate. 

 

InterBase Product Address

 

 

Simplify Parallel Programming with Patterns

Full Demo Source Code

http://cc.embarcadero.com/item/30419

 

Introduction to Encryption: Understanding Security Algorithm Use Cases

Blog and Source Code

http://robstechcorner.blogspot.com/2015/10/coderagex-security-session-files.html

QA

Robert, what is your opinion on correcthorsebatterystaple type passwords?
Better to put symbols or numbers in it too to be a good Password, but not as a key.

Delphi has a PC1Cypher in DBX. How good is that?
It is based on DES so is not secure.

If you know, what is the difference between and/or the reason to use LockBox vs DCPcrypt?
Both work. There are differences for performance and some implementation details.

Which blok ciphers could be used for ciphering using php on a linux server and decipher in Delphi and opposite?
AES-256

DCP Library is safe?
Every library has the potential to be vulnerable.

Which library is used into the TNetHttpClient communicate threw an HTTPS protocol?
Platform specific library.

Is there a standard Delphi Components? to manage public/private key?
RSA is in LockBox

Is there a standard Delphi Components? to manage public/private key?
Secure black box has it too.

LastPass with all its passwords has been acquired by LogMeIn.
The nice thing about LastPass is they don't have any of my passwords. ;-)

I've read through the Eldos pages and they place an emphasis on timestamping. Where does this fit in?
Helps maintain order and avoid Man in the Middle and such.

In the datasnap server (under TCP/IP) we can use the RSA and PC1 filters.
Can we exchange the symmetric keys for example with RSA and custom filter(AES-256 for example)?
Is there an examples or articles for that case?
No.

Any size of strings to be encrypted?
Yes.

Is there a list of Delphi sources by use case Robert can offer? For example, if I want examples of 1. securing files locally (local storage) vs 2. streaming data between DataSnap or EMS clients and servers vs. 3. working with cloud storage options such as Amazon S3 or Azure, can Robert offer any samples Delphi projects or sources of such?
There are lots of different examples with each library. It really deepnds on your objectives.

Thanks for the heads up with LockBox! Is there sample code of how to handle its initialization vector idiosyncrasies?
The IV is just prepended to the encrypted data.    You don't get to specify it when encrypting with lock box it's randomly generated.    Given that if you have data stored in a different format for the IV you will need to modify the souce data to comply first.

Also, is Robert's comment about LockBox's initialization vector handling true of both v2 and v3?
I believe I have seen this behavior in v3 but I am not sure if it exists this way or not with v2.

Given your SSL recomendation is there a way to use SSL as your encryption engine for information you want to store.
SSL is a transmission encryption method, it's not used for storage.

Do you see SSH Tunneling with something like SecureBridge as a good option to offload all encryption to a third party?
SecureBridge works when you have no other option, but it leaves encrypted traffic on the local machine so a malware program can still become a man in the middle of your data.

Is there Embarcadero plans to create crypto library to use with Delphi?
No published plans, please request it from product management.   The more voices they hear the higher the likely hood it could occur.   (This is from Robert Love and I don't represent embt on this answer)

Composite VCL Controls Deep Dive: Techniques for Manual Creation, Component Templates, Frame Components, and Sub-Components

QA

Can you say a bit about the component editor?
The property editor makes it easier to set the values.

Granted - Scope of seminar - But shouldn't Design and Run times packages be seperated? 
Yes, absolutely. In the example they were.

Coud someone enter Ray's demo sample link here as I am getting an "Access Forbidden" with the link I thought he  displayed in his presentation.
http://raize.com/Sessions/CompositeVclControls.zip

This is for Ray: Do you ever find Frames magically change size after you save the project?
It might be an alignment issue for when you align a control inside of a form. Sometimes the order or sizes change.

What about creating a kind of component container with certain rules to permit us to add dinamically new components, and the container will only ordering and positioning them?
You can do that, but it is a different approach then what was illustrated here.

What RegisterSprigType does?
A Sprig type editor is for managing or customizing a structure pane that is used in the IDE.

It looks like you you modified the IDE's GridHeight and GridWidth to be other thanthe default of 20. What grid settings are you using and why?
It is changed to 4 and 4 under options -> Enviroment -> Form Designer

 

Step-by-Step Guide to Logging Custom Data in CodeSite

Learn more about CodeSite >

Download Session Materials

raize.com/Sessions/CodeSiteCustomDataCPP.zip

 

QA

 
Does CodeSite still require an external application to be runing for logging to work?   Or can it be sent directly to file?
Does in most cases require the use of the CodeSite dispatcher to route the messages, but that will change in the future. The onSendMessage event handler can write directly to a file though.

Can the CodeSite Log files be encrypted?
Not right now but you could encrypt and decrpt your data.

Where is codesite in DX Seattle 10?
It is a separate install.

Is there a max number of messages, or log file size that code site has for the log?
Yes, when you set up the destination you can set a max size and max parts.

Any possibility of using enhanced RTTI so that records can be sent without having to use a Custom message.
Yes.

I am using CodeSite a lot, but always get impressed of all the posibilitiies I never use when Ray demonstrates it.... :-)
;D

Can we use TCustomFormatter for JSON data today?
Certainly.

What's the main differences between the commercial version and the one that comes with Delphi?
Several things. The biggest is the types of data you can log. Express supports just basic data types. Studio supports many more, like images, etc. Studio also supports remote capabilities.

 

Rock Solid and Secure Communications for EMS, DataSnap, App Tethering, REST, Web Services, and Raw Indy Sockets

QA

Are there versions of libeay32.dll and ssleay32.dll that are specific to various Indy implementations/versions?
You should use the latest version from here:  https://indy.fulgan.com/SSL/    Prior versions can/will have security issues.

How much does it tend to cost to get a commercial SSL certificate?
Depends on the provider of the certs and the level/type of certification they offer.  It's a big range $30-$280/Year

Do you recommend a provider to buy a certificate to use on IIS?
Make sure it is a provider that has the root authority recognized on the OS for a while.

Do you know of a delphi ssl component that is FIPS 140-2 compliant?
Don't know of one.


Is there any certificate authority that provide services for the Open Source Community for free?
Perhaps https://www.globalsign.com/en/ssl/ssl-open-source/

Are there versions of libeay32.dll and ssleay32.dll that are specific to various Indy implementations/versions?
Always use the latest version

With TNetHttpClient how to apply the key?
Unless you are requiring a client side certificate, you don't need a key. That isn't a common need.

Is Apache documentation available anywhere?
https:/httpd.apache.org/docs/

What is an intermediate cert?
A cerficate that was signed by a root authority that is in turn used to sign the server certificate.

How certificates are used to sign usernames and passwords like in webservices to generate access tokens?
Those are usually HMAC

how to install an intermediate certficate on an aws EC2 server (using node.js app as server) and an delphi ios client using REST.  (only answer this is appropiate)
http://kb.kerio.com/product/kerio-connect/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html

For example from "localhost" to "www.mywebapp.com"
If you change your web server config to respond to a different domain then your ISAPI or Webbroker will respond on that domain.

Is there a way to hide the port number?
No, unless you are using the standard port.

 

Integrate New WinRT Windows 10 Platform Features Into Your App

QA

For sharing: can I share then shut down my app and still have the item available shared? i.e. is the shared idata buffered by Windows?
No. There is a call back to your app when the destination file accepts the share at that point you stream it to the destination app. Notifications are cached by the OS though.


If I make use of the WinAPI while developing on Win10, will my app work on earlier versions (Win7 & 8)?
If you use the visual components you are fine. But if you use the Notifications, Share contract, or WinRT API directly then you would need to disable those while running on older versions of Windows.


Is TRelativePanel coming to FMX? I could really use it there.
I'd love that too. I don't know though. I'll pass the suggestion on though.

Can someone post that Centennial Bridge link again (the channel 9/msdn one) please?
http://channel9.msdn.com/Events/Build/2015/2-692

The new winRT libraries are only available in Seatle X right?
Yes

Already started using SplitView. I could make use of it being able to align to the top and bottom too (slide down or up) :-)
Interesting idea.

With Project Centennial, where are we supposed to write ini files to?
Ideally, you should write to app data, but if you write to program files it will virtualize that IO call.

Is there a TPath path to that folder?
Yes.

These new Windows components look great. Thanks for getting them in!
:D

Can we set fontsize as decimal in Seatle X?
Not on VCL, but maybe on FireMonkey.

FastReport Deep Dive: Build Efficient Multi-Thread Reporting

QA

Does the FRThreadDemo work with the Embarcadero version of FastReport?
Yes, that the version i've used to create Demos ! you can download all demos from our website www.fast-report.com/public_download/CodeRageDemos.zip

Does the FRThreadDemo work with the Embarcadero version of FastReport?
you can download it from our website www.fast-report.com/public_download/CodeRageDemos.zip

Where can we find this Fastreport Multithread Demo project?
you can download it from our website www.fast-report.com/public_download/CodeRageDemos.zip

I am using the datasets integrated in the Report.
Even better because you don't need to create it seperately.

Using cache: you don't know in advance when you are running a big repport, so is there a way the repport will automatically use cache?
TfrxReport.EngineOptiom.MaxMemoSize

Integrated reports again: anything extra about multithreading?
It is even easier because you do not need to handle datasets.

If i use fastreport inside datasnap server  the configuration for fastreport component will be the same as your demo?
yes, the same

is the showed html example downloadable on you site, and are there more examples of this?
IT is in the coderage demos link

What is FM3? Website product description: Multi-platform report generator for Apple Mac OS X and Microsoft Windows, compatible with Embarcadero RAD Studio XE (FMX library), FireMonkey FM3. Report generator FastReport FMX is the first multi-platform solution for integrating Business Intelligence into software based on Embarcadero FireMonkey IDE (Delphi for MS Windows and Apple Mac OS X).
https://www.fast-report.com/en/product/fast-report-fmx/

Do you have plans to support mobile with the FMX version?
Do plan to support mobile in the future. Generate and preview.

TMS and other has collections of several products. Do Ffastreport has some colletion of all components?
http://www.embarcadero.com/products/rad-solution-pack

What databases are supported (mysql, mariadb, mongodb...
You can use any database as long as it is in a DataSet.

does FastReport produce high resolution output for images?
yes, you can set different quality when exporting to images. Just select the resolution you need.

Any timeframe on the mobile FMX version?
Maybe next year towards the end. Unsure.

Are there any plans to release books based on firemonkey?
http://community.embarcadero.com/resources/books


FixInsight Deep Dive: Squashing Bugs with Static Code Analysis

QA

What version of delphi does this work on?
Delphi 2006 and newer. All the way through Seattle.

Just started using FixInsight and it's great!  Thanks to Roman for authoring.
:D

Is there an option to say skip this error from reporting?
Yes.

feature request  - would love to scan for objects that should be FREE  so if you create something it would look for a .Free to make sure it was cleaned up
On the roadmap.

What is the update policy? Do I get updates for future version of Delphi for a limited time or unlimited?
Yeah of free updates.

Like code templates in RAD Studio, is it easy to add your own coding stye rules using JSON or XML for FixInsight to test/enforce (sorry if I missed this in your presentation)?
Not now. Just settings to configure some of the rules. On the road map this could get added.

I accidently just shut down the result window, I cant find it under the view menu to bring it back?
If you run it again it should come back. Or look for View-> Messages.

Could it report possible memory leaks?
Yes, some, but not all.

I don't see how to get the trial version off the web site.
http://sourceoddity.com/download/FixInsight_2015.10_setup.exe

Do it follow compiler switches that turn part of code active or inavtive or do it analyse independently?
yes

How good is the integration with different build servers ? e.g. Jenkins
It has a command line tool to output to XML

Is it allowed to use one bought version in several delphi versions for one person?
Yes, for one person it can be used for any number.

If I have some switches included in an included text file, is that text file analysed for switches? Can I use it in more than one computer?
Yes and Yes.

Can I avoid from analisys the units that are not included in dpr file?
There is an option

i have a few warnings saying methods are too long, what specs are these warnings based on?
You can change that in settings. It defualts to 15.

Can you specify a package file instead of a .dpr file in the command-line version?
yes, it should work.

Where are the settings?
Each project has its own settings. It is [ProjectName].ficonfig

If dividing a method into main method and n included subroutines, would it then stop warning or is all code inside main method included in warning?
Only the code between begin and end.

Parallel Programming Deep Dive: Task Monitoring, Resource Locking, Thread Pool, Design Patterns and more!

QA

Every webinar about Parallel start the same beginner level. I was hoping more advanced case.
After 10 minutes we'll go deeper using TInterlocked, TMonitor, Task Monitoring ans such.

I have a program where lot of works is now done sequentially, but could be speeded up quite a lot if each step could  be parallellized. But, some steps need to wait for other tasks to be fully or partially done. So I want to use tEvent to signal certain parts either completed, or like in one table all are dependent on, the entry either is found and id of record made publicly avainalble and event triggered. How to do this in PPL or OPL?
PPL has a nice feature where you can do a WaitForAll on an array of ITask interfaces. But TEvent will work as well.

What about nested for loops? How to use typed parameters with TTask without copying (big) data?
Nested Parallel.For does not work well, because they will compete for resources. Best to use one Parallel.For with a regular For around it.

How could I make an helper classes with overload &for TParallel to accept generic TList?
The generic TList is not threadsafe, so in a Parallel.For youwould get into trouble updating it from multiple Tasks as run by Parallel.For per stride. That said, you can create your won versions using: TPFHelper = class helper for TParallel with your own procedure that would call Self.ForWoker.

My program scabs wmi for one computer. Could then PPL or OPL be used to control scanning many compiters in parallell in order to shorten time to do the work?
Yes. At least it will be less busy in the GUI as WMI calls can take a while. Just scan each computer in their own Task (or even use a Parallel.For), make sure each thread gets their own resources.

Why did you wrote TParrallel.&for instead of TParrallel.for? (sometimes using &for sometimes only for)? why this difference?
For is a reserved word, so the & tells the compiler it is an indentifier.

Nested for loops could be done using a single parallel for and combining the individual loops into one number.
true

What if I need to work on data from a DataSnap connection. Is possible to receive data from the server using parallel processing?
yes, DataSnap is ideally suited for that.

What's the difference btw parralel and regular for?
Regular for loop runs each item in sequence in the main thread. Parallel runs the items at the same time in multiple threads.

In your monitor example, is there a way of knowing how many treads have been spawned to know if you are still waiting for some task to complete?
The interface is used to look at the state of the task. Look at the example.

What is the best way to made a thread with open a sql-query with fireday (long running) and after execute the query open a fast report to show the data?
Create the fireDac connection and resources within the Task. There was a session earlier today on paralle Fast Report.

All my tasks are updating a datasnap server. Do I need a separate connection for each thread to update database, or are connections to datasnap thread safe?
They are not. You would need a seperate connection for each thread.

With DBExpress, there was a tMonitor component monitoring database traffic. Is the tMonitor shown today the same component, or a completely different one with same name?
Different one. This one was System.TMonitor.

 

 

Simplify MultiThreading with System.Threading for Mobile and Desktop Apps

Full Source Code

http://cc.embarcadero.com/item/30422

QA

is it possible to make Queue of RefreshChatHistoryTast... So if we need to executes few time the RefreshChatHistoryTast... does we need to embedded the RefreshChatHistoryTast in another task ? or using Queue ? or future ?
Everything you create a TTask is run off a thread pool. Could make an array of tasks and wait for them to finish running.

In ' RefreshHistoryTask'  :: What is the livetime of local variable 'LocalChartHistory' ?
It only lives in the anon method and anon methods nested within in.

Is TTask same efficient as a dedicated TThred class?
TTask runs in a thread pool that has management.

Do you recommend pushing references to dynamic arrays onto the tthred.queue? (I'm thinking anything that creates/deletes elements in a dynamic array is not thread safe.)
Anything not thread safe must be handled carefully. You can use TThread.Queue to keep it on the main thread, or use TMonitor, TCriticalSection, etc.

Do the lChartHistpory self destroy, or is it needed to destroy it at end of the refresh?
Mobile applications have automatic memory management.

If I'd want to use a TParallel.For inserting records into a database from a list or something, where would I create the database connection? Just before the TParallel.For?
you could create a conenction inside the for loop (for each iteration) or create a transation for each iteration.

Is there a limit the number of TTask.Run you can use?
No limit. They will be queued up and ran across the thread pool. In theory you could run out of memory though if you created way to many.

What method for simple Parameter exchange inside the TTask would you prefer, TCriticalSection, TInterlocked, TMonitor, and why?
Depends. TInterlocked works for single variables. TCriticalSection is the classic way for syncronization. TMonitor is a little easier since you can use it with any object.

How about datasnap connection from a client to server. Is this a thread safe connection?
DataSnap connections are blocking the main thread if you call them from the main thread so you will probably want to put them in a TTask.

How is garantee that 'LChatHistory' is valid in the queued anonymous method. IMHO 'TThread.Queue' ia a "shot and forget"-call, so the task can end before the queue calls are processed?
The Anon method within the Queue is a new capture of the LChatHistory, which prevents it from being lost. Both Anon methods must finish.

On TParallel.For and db connections...would it be possible to use a connection pool that was previously created from the mainthread? And how would the parallel forloop would behave when there is no connection in the pool available anymore? Could I wait in the paralleled for itteration that is experiencing the impossibility to pull a connection from the pool?
If the pool has no more connections then the iteration would it could wait for a connection to come available, making that specific iteration last longer.

In mobile development are the native APIs threadsafe ? E.g. may I run into any thread problems when running their native API calls, e.g. Bluetooth, WiFi, Intent,s etc. ?
There may be issues. It might depend on the API. Probably a good idea to syncronize calls to it, or give each task its own manager.

In mobile development are the native APIs threadsafe ? E.g. may I run into any thread problems when running their native API calls, e.g. Bluetooth, WiFi, Intent,s etc. ?
By nature they are not threadsafe.

If i have a datasnap server using FireDAC to query or update an Oracle database, and the datasnap server can be accessed by many computers at same time, do the code in the datasnap server take care of the threading, or is it my responsibility to do these calls safe?
The server will handle that, but make the client thread safe.

 

TFrameStand Deep Dive: Build Visually Stunning and Consistent UI/UX with FMX Frames

Full Demo Source Cdoe

https://github.com/andrea-magni/TFrameStand/

 

QA

Are there tFrameStands for VCL too?
At the moment, only FMX. It is a pure FMX component. Maybe in the future ;-)

Are FrameStand transitions/movement are calculated as background tasks, synchronizing via TThread.Queue ? I remember to found something in the code like Application.ProcessMessages, which would be not ideal.
Transitions are achieved through standard TAnimation instances. No specific threading objects underlying.

If I need to program some methods like onShow for a frame, where is the correct place to enter code, in the frame itself or the form where the frame is included? (Stopped long time to use tFrame, in D2006 because quite confusing to use)
You have a mechanism (attribute-based), will show it during the presentation, to mark a method of the frame for execution when it is shown to the user.

If I need to program some methods like onShow for a frame, where is the correct place to enter code, in the frame itself or the form where the frame is included? (Stopped long time to use tFrame, in D2006 because quite confusing to use)
Also, there is a OnBeforeShow event on TFrameStand.

Can I put frames in packages and then load them in the main application?
Nice question. I would say yes, why not?

What is the mecanism to write [aname] Procedure .... ?
Decorating an instance method with an attribute to have code fire at runtime.

What do you call this type of code:
[FrameInfo] FInfo : TFrameInfo<TCodeRageXFrame>
That is an attribute on the declaration of a generic type.

Could we have the links to the github and blog here?
https://github.com/andrea-magni/TFrameStand/

Is there any practical sample to use to guide?
Documentation is coming.

Is FrameStand working stable on all Platforms (iOS/Android,Mac,Win)?
Tested mostly on Windows and Android.

With "IDE standard" I mean - this should IMO be a FMX standard component, Or have it installed via GetIt. Or is it already?
It is coming to GetIt.

Is there Action messaging from Frame to Host also vice versa?
You can have a reference to the parent from the frame and from the partent you have a reference too.

Is there any way to execute different actions depending on the which OS the application is running on?
You can provide different frames from within the OnGetFrameClass event.

How to do like a push / pull layouts ? example to switch layouts... ??  is it by calling the show method from the 2 layouts in same time ?
Have a stand managing multiple instances and looking at the user interactions.

What happens if you Show Frame2 without closing Frame1 first?
It will stay there.

Can multiple Frames be shown in One StyleBook view?
Not at the moment. One Stand for One Frame right now. Considering that option thought.

What Delphi version is supported?
Built with XE8 and runs on 10 Seattle.

Does your component editor manage the naming conventions needed for actions etc?
No, but you can tune the naming conventions directly on the component.

InterBase Tips and Tricks: Quickly Get Up and Running on Windows, OS X, iOS, Android, and Linux

Full Demo Source Code
http://community.embarcadero.comhttps://d3an755jegtaaw.cloudfront.net/uploads/423/Coderage2015.zip

Blog

http://community.embarcadero.com/blogs/entry/more-interbase-connection-strings-than-you-shake-a-stick-at

QA

If I have a 32-bit program that need to connect a 64-bit Linux based server, should I connect via a 32-bits client or 64-bit, or do the clinets choose correct version automatically so I don't need to bother?
The client depends on the client OS. Either one can connect to a 64-bit or 32-bit server.

If I have changed password of dba, but loose it, is there methods to get control again or a reinstallation with loss of data only way to recover?
You would need to go back to your original security IB. You won't loose any data, but will loose your passwords.
Passwords are stored in admin.ib (the security database). You can roll back to the original admin.ib.


When installing RAD studio, what version of Interbase is installed, 32-bits or 64-bits?
32-bit

Writing passwords in clear text in setup files like shown is generally a bad idea. Is there a way to hide it as ******* etc. ?
Not in a batch file. You could in a Delphi application.

What are the differences between FireDac and IBX, in regards to using Interbase?
They are similar. IBX is InterBase all the way, it is only for InterBase. FireDAC is cross database, so if you might change databases then use FireDAC.

What are database backuping options when working with InterBase?Thanks
You can do a live backup of InterBase to backit up while it is runnig. There are a lot of options, command-line, IBX, IBConsole, etc. GBack lets you do incremental backups too.

What is a typical max transactions per second?
A lot. It depends on how fast is your computer, how complex is your transaction, etc. Lots of variables.

If there is activity every second on 24/7 hour basis, do I need to stop server when making backups?
You can always back it up while it is running. That is a snapshot of when the backup started.

Background Tasks and Inter-App Communication with Android Services and Intents

QA

Can services start at phone startup?
yes you can. You modify the manifest to run the service at startup, or subscribe to other events. Like change of connection, bluetooth, wifi, etc. It is in the Android documetnation.

Do we need to use a Thread inside a service ? because a service is already an independant thread  from the application ? (especially there is no user interface..) ?
It depends. Intent Service runs in another different thread. A regular local service would need to create a worker thread.

how to create a service that runs android from time to time? Every 2 hours for instance a notification is issued?
The only way to do that is to control that manually. Either sleep in the service or set an alarm to launch the notification every 2 hours. Best way would be to use an alarm to wake the service.

How about requirements from Gooble/Apple for energy saving in Android and iOS background svc?
Google is very flexible, there are not restrictions. But your users may uninstall if you use a lot of battery. On iOS it is almost the opposite. Very limited what you can do in the background. Apple allows you to use Bluetooth and Beacons, but iOS reduces the number of events. No CPU intensive operations though. Restricted how much CPU time you can use.

In your example, who is destroying the Service, does it do itself?
There is a mechanism to manage the live of the service. When the last app unbinds then the service stops. When you use StartService or an Intent then the service needs to use StopService.

This DEMO for the Background Tasks... is the must detailed sample, you will make available for download?
It will get posted here soon: http://community.embarcadero.com/blogs/entry/coderage-x-resources-for-c-and-object-pascal-tracks

Does iOS allow an app to continue to run in the background? Or only certain things like beacon, etc.?
only certain operations and for a limited period of time. Consult the iOS documentation.

Does the Service has access to all hardware as normal app?
You can't use any visual controls. No access to touch or screen. Other hardware you can access.

When an Android Application is cosed by user and restarted automatically by sticky service. How to handle this situation gracefully?
Save your state when shutdown and then reload it when you restart.

Can services only communicate to bound Apps, or can they also send data to e.g. calendar app?
The calendar specifically has a service to share data with it.

How to bring an already running application in the foreground when the user clicks on the icon on android instead of launching a new application?
Will take a look and post a blog post about it.

Timer can be use inside a service?
No, the standard TTimer we have now cannot be used in an Android service becuse it is inside the FireMonkey framework (FMX namespace). You can use a Timer API or Android Alarm.

Can I share a Sqlite database wih the service?
Yes for local services.

Does the service and app share the same app folder/space on the phone?
Yes, they are both in the same bundle (for local services)

Create IoT solutions with Delphi and Arduino

QA

Do you know a low cost (under US$10) wifi shield for arduino?
ESP8266 is less than $1 sometimes.

If gathering data when a signal change and storing time for new value, what is the smallest time difference possible to sample? Like checking a bit that could change btw 0 and 1, and store time (in ms from start) when new state is registered? Like gathering data on a 4 or 8 bit basis where each bit could change. Example store a value btw. 0 to F if metering 4 bits. Or is Arduino not suited for such data gaterhering.
Depends on the board. They have different frequencies and processor speeds.

If possible to gathering bitwise changes, are there examples of using like Bluetooth LE to transfer data, eg. to a mobile that each houir could connect a server and transfer data?
No BLE yet, but others are available.

What will be the price for such a solution?
$9.99 includes 3 months of updates, and then $9.99 a year for updates after that.

With the coin size Arduino, how many bits could be metered?
There are a few hundred coin sized clones. They typically have 5-6 digital channels.

How much data could an arguino gather before needing emptying to external storing device?
Depends on the device.

Its possible to program any code in pascal or just set properties and links?
Visuino is purely visual at the moment, but considering adding components to allow adding coding.

Have you tried connecting remote sensors (built with arduino) via wifi or even bluetooth to a Delphi front end?
yes

When using complex modules, like StepperMotor, you are not generating .ino sketches, but you include real C++ code, right?
There is no difference between the two.

The scope seems to compress the graph to show all data, is there an option to have it scroll older data off so that the display will maintain a visually appropriate display versus the constant frequency?  The width of the sine wave should not change.
yes it has that option.

Has there been any thought put into passing commands to a visual command component...  This would allow Delphi to generate a signal by passing a text command.
This is possible at the moment by combining an edit box through openwire to the serial port.

You mentioned a board which has 50 digital i/o's, could you give the model number of that board? And any idea of the price? Thx
That is the Mega, it has 54 pins. It is about $20.

Visuino helps on wiring the phisical board?
Just programs the board.

Can be used visuino to build a beacon with arduino?
Once BLE support is added.

How to order beta?
https://www.visuino.com/#nav6

Is that all components open source ? visuino, openwire? or all the components?
OpenWire is OSS, the C++ code is OSS. Visuino is commercial.

Is Arduino Due 32-Bit Cortex-M3 also supported, or are the sketches not compatible?
It should work, but not sure if tested.

to use delphi tcp communication with visuino, need another component or just visuino?
For basic communication you don't need anything special, but Communication Lab adds a number of additional features and functionality.

Do you support already camera shields? Plans on it?
Not yet, but looking to support them.


Debug Tips and Tricks: Effective Multi-Device App Debugging Strategies for Win32, Win64, OS X, iOS and Android

QA

which version of Windows 10 is best to use as the platform for rad studio development?  32 bit or 64 bit?
64-bit windows 10


Why is compiling / debugging / deployment so much slower on iOS / Android ?  Whats the best recipe to optimize speed?
For Android you can do Network debugging. USB speed - USB2 or USB3

Is it possible to add alternative compiler/debuger (Linux/Adb) in the CBuilder IDE?
IDE and debugging still only support our target platform. Tools/IDE API you can build integrations. Tools to hook external tools. Built you can use external command line tools, etc.

Can I use PAServer on  El Capitan?
Yes - get hotfix 1 for 10 seattle

Can I manually copy data files to the target via PAServer connection?
Project | Deployment - add file.  set local and remote directory and filenames and IDE deploy and./or run - will send all the files.

I am developing win32 on Win8. I want to run my program on Win10 machine and debug it with PA Server. Any good blog post with instructions to do this?
Install PAServer windows setup on that target machine.

What to do when the cpu windows open in ide with an error raised at an address $ff... ? what is the sequence to catch the problem?
Usually - this can happen if source code is not found when you do a step into.

Any application note on how i can provide the IPA package for deploying into the enterprise App Store?
read apple documentation about how to copy the generated .IPA file to your engterprise store.  you'll find the .IPA file in your release folder when you build for store or ad-hoc.

tips for what to check when debuggin for ios dowsnt work? 64 bit ios debug simply doesnt work for me. No blue dots in the code or anything
Check Project |Deployment window for .DSYM file being enabled and or be there to be deployed.

What is the Software you use to see the app on the target in your mac screen
David I uses Reflector App by Squirrels Software. Not sure what Jim McKeeth uses.

Fmx renders in GPU, any plans to rund and debug code in GPU  too?
Will suggest that to the debugger team and product Management

What steps you suggest for memory leaks debugging? Thanks
AQTime by SmartBear, EurekaLog, and other tools

After all debugging is done and app is ready for deployment, what settings and/or target options should one use?
Release build (removed debug info).  you can then choose to build with runtime packages or not.

String inspector truncates long memory strings, any workaround?
create an isisue in quality.embarcadero.com - our quality portal. you can also search there for previous reports with possible workarounds or fixed in build #s

What needs to be done to debug an android application over USB from Windows?  It is not working...
Watch my Start Here video - preparing your IDE for Android development

How do u name threads in code?
TThread class has a method - I think it is NameThreadForDebugging or something like that.

When inspecting a variable, like an instance of a class, will it be possible to dump the content shown to file or print it?
use Windows Snip tool or some other screen capture to capture the inspector window

If some has a spy in the subnet spying on all packets, is it still safe to debug remote using PAserver (reminds remote debugging in earlier versions opened all ports making all traffic open to thir part sniffers and unsecure?
protect your network connections inside your firewall

Or is still a private domain with dpomain server needed for remote debugging?
use VPN or other protection when you need to do remote debugging.

iOS apps must be 64bit now. Why do you debug the app as a 32bit device. iPhone 6 is a 64bit device
Apple still allows building universal binary apps (combined 64/32 bit apps). you can also still target older 32-bit only appls if you do your own developer ot ad-hoc builds and send the apps directly to those older devices without going into the App Store.

How debugger can show ntdll.* function names? Does it decode Microsoft pdb files?
I think the function names are included in the files as part of the export statement?

 

NoSQL with MongoDB and FireDAC - Part 1 & 2

QA

If the mongo document has multiple elements, say two "address:street":" 2 Ave", "address:street":"3 Ave", does the .find("address:street":"2 Ave") scan all of the address:street elements in the document.
You can use an operator to do that.

The searching syntax looks like Parse queries.  Could we use Mongo driver with BaaS?
Parse uses MongoDB, but you cannot connect directly to it.

How does MongoDB hook collections like publishers and books, unidirectionally or bi-directionally?
You can reference another document by it's _id

If I understand correctly, I have to replicate information like state, country, etc.. inside every document, instead of having a related table. Is that so?
Yes. You can have a collection that lists all possible states, but there is nothing to enforce that.

I think that's there's no joins explained it. There is no similar concept of a linking table.
Right.

Is possible to use MongoDB with a ORM engine, like Aurelius or mORMot?
Maybe, check with them.

If the mongo document has multiple elements, say two "address:street":" 2 Ave", "address:street":"3 Ave", does the .find("address:street":"2 Ave") scan all of the address:street elements in the document.
I tried it. If you do a match on a field that is in an array it will match any document that contains an array element that matches your criteria.

what kind of grid component are you using to generate col and row span ? is it the standard FMX TString*Grid ?
If the datatype is wrong then it doesn't match.

 

Using Sensors in Windows 10 with Delphi

Full Demo Source Code

http://cc.embarcadero.com/item/30420

QA

Are the sensor categories dynamic so that new categories could be feed into AppAnalyitics. I can then write code in my app to check the categories of sensors to know if I need to write new code for additional capibilities as they come along.
There is a fixed list of categories, but the available sensors varies from device to device.

Do have any sample for Aproximity sensor?
No, not yet. It shouldn't be difficult to write one.

Where is the list of sensor categories puiblished ?
DocWiki http://docwiki.embarcadero.com/Libraries/Seattle/en/System.Sensors.TSensorCategory

Does TSensorManager is only from Seatle 10?
It is available a few versions back.

In terms of the Location Sensor under windows what has changed in Delphi 10. I know my Location Sensor created under XE7 does not work correctly on Window 10.
It really depends on the device and if it has a GPS or is using an alteartive method.

Is there any feedback function from sensors, i.e. if u use the gps sensor and you poisition changes, could u get callbacks without using timers?
Yes you can handle the onDataChange event.

Bruno mentioned plugging sensor in the USB, will that affect the list of sensors when it happens
Yes, it will show up.

Bruno mentioned plugging sensor in the USB, will that affect the list of sensors when it happens
GPS direct can work as a bridge to a GPS device to windows.

Could I use sensor feedback in services forAndroid and get that to cause a notification or stat an app?
Yes I believe so.


 

 



About
Gold User, Rank: 8, Points: 399
Brian Alexakis is a Product Marketing Manager at Embarcadero Technologies. He is focused on leveraging the connected world of technology to build new experiences for the Internet of Things.

Comments

  • Brian Alexakis
    Brian Alexakis Thursday, 12 November 2015

    The downloads should be fixed now.

  • Brian Alexakis
    Brian Alexakis Thursday, 5 November 2015

    In the meantime, feel free to email me directly; brian.alexakis@embarcadero.com and I can supply you with the missing downloads.

  • Brian Alexakis
    Brian Alexakis Wednesday, 4 November 2015

    Hi Kev D9,

    We are aware of this issue and are working to resolve.

    These downloads are intended to be open and free to all with an EDN account.

    Thank you

  • Kev D9
    Kev D9 Tuesday, 3 November 2015

    I've been unable to reach downloads such as cc.embarcadero.com/item/30418. The pages say Unavailable Submission - Sorry, you don't have access to this submission. If this is related to the discussion about exclusive access for some items with Update Subscription, I have a current Update Subscription.

    Thanks

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: