C++ Technical Session

Harness the Power of the C++ Language
and RAD/Visual Application
Development
Jason Vokes
Snr Director Technologies International
Jason.vokes@embarcadero.com

What we will cover•••••

Using the latest C++ language features included in C++0x
Leveraging the standard C/C++, BOOST, TR1 libraries
Advanced debugging for multi-threaded applications
Viewing your data with debug visualizers
How to modernize your C++ Windows application UI(s) with– Ribbon Controls– Touch/Gesture• New TDirectory class• REST client application development to leverage Web platform
APIs

C++Builder 2010
• The power of both C and C++ languages and libraries, with theproductivity of visual rapid application development

C++Builder 2010•••••••

Integrated ANSI/ISO C++ tools with draft C++0x support
RAD IDE with fast drag-and-drop design
Integrated Boost and TR1 libraries
Over 250+ VCL controls
Built-in touch and gesturing support
dbExpress with support for 9 major databases
Create DataSnap clients that access Delphi n-tiermiddleware servers with JSON, REST, HTTP, COM, and XML• Target Windows 2000, XP, Vista, and Windows 7 from singlesource• Centralized license management and tool deployment withEmbarcadero ToolCloud

C++Builder 2010•••••

New C++ Class Explorer
IDE Insight, Data Visualizers in Debugger, Multi-thread debugging
C++ Code FormatterTouch and Gesturing, Direct2D and Windows 7 API
Additional SQL databases / versions– InterBase SMP 2009
– FireBird 1.5 and 2.1– Oracle 11g– MS SQL Server 2008

• SOAP 1.1/1.2 clients and SOAP 1.1 servers• Dinkumware STL v5.01 and BOOST v1.39 libraries

C++ Compiler 2010•••••

FastMM is now standard heap manager for C++ runtime libraries
Support for #pragma once-Zx option for generating XML representation of source code
Added support for _FUNCTION_
Support for [[deprecated]] attribute– [[deprecated("You can say why and what to use instead")]]• __declspec(dllexport) for template classes

C++Builder 2009 – Unicode and C++0x
•
•
•
•
•
•
•
•
•
•

UnicodeUnicodeString class
Unicode character types char16_t and char32_t
Explicit conversion operators
Static assertions
Scoped enumerations
Full type trait support
Extern templates[[final]] and [[noreturn]] attributes
Decltype keyword

TDataset and its descendants• TDataSet– (DBClient) TClientDataSet– (DBX) TSQLDataSet, TSQLQuery, TSQLTable,TSQLStoredProc– (DataSnap) TSqlServerMethod– (BDE) TTable, Tquery, TStoredProc– (ADO) TAdoTable, TAdoQuery, TAdoStoredProc– (IBX) TIBCustomDataSet, TIBTable, TIBQuery,
TIBStoredProc

Touch and Gesturing• Pluggable gesture engine architecture• Works on all supported versions ofWindows, not only Windows 7• Use touch-enabled hardware or workwith what you have (mouse, stylus)• 30+ standard gestures(“TStandardGesture” enumeratedtype)• Custom Gesture Editor• TTouchKeyboard component andframework for creating virtualkeyboards

Direct2D and Windows 7 API• TDirect2DCanvas supports Direct2D and DirectWrite (Windows 7only)• TGraphic wrapper for WIC (TWICGraphic)• TIFF support in TImageDemonstration

C++Builder Resources• RAD Studio in Action – C++Builder– Technical White Paper– http://www.embarcadero.com/rad-in-action/cbuilder• C++Builder what’s new– http://www.embarcadero.com/products/cbuilder/whats-new• RAD Studio Reviewer Guide– http://www.embarcadero.com/products/rad-studio/rad-studio-2010reviewer-guide.pdf• C++Builder Resource Center– http://www.embarcadero.com/products/cbuilder/resource-centerC++Builder Resources• DocWiki– http://docwiki.embarcadero.com/RADStudio/en/Main_Page– http://docwiki.embarcadero.com/CodeSamples/en/Category:C%2B%2B• CodeRage replays– C++0x Language Features - Lee Cantey – Embarcadero– Porting your C++ VCL Applications to RAD Studio 2009 Bruneau Babet – Embarcadero– http://conferences.embarcadero.com/coderage/article/38874• Migrating to C++Builder 2010 – On Demand Webinar– http://update.codegear.com/forms/AMUSCA0912CBuilderMigrationWebinar12-15

Thank You - Bob Swart• Thank you Bob Swart for the C++Builder DataSnap server notes• Contact Bob if you need the “how to” notes at: bob@ebob42.com

Jason Vokes
jason.vokes@embarcadero.com

Thank You