TOOLS

31 C++Builder XE3 videos in January 2013

Written by Embarcadero USA on . Posted in TOOLS

Here are the dates, topics, short descriptions, blog post URLs, YouTube video links and video download URLs for the David I “31 C++ videos in January 2013” series. You can find the complete January 2013 calendar at http://www.embarcadero.com/products/cbuilder/how-to-create-software-applications

    January 1 - Your first Multi-Platform C++ app

In this first video you will learn how to create a simple FireMonkey application and compile and run it on Windows and Macintosh.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/01/42280

Watch on YouTube: http://www.youtube.com/watch?v=OVkv8ROW2xk

Download: http://cc.embarcadero.com/item/29259

    January 2 - Using C++ FireMonkey Anchors and Layouts

In the second video you will learn how to use the Anchors properties and Layout components (TScaledLayout, TFlowLayout and TGridLayout) in the forms designer for your C++ FireMonkey applications.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/02/42286

Watch on YouTube: http://www.youtube.com/watch?v=5eYct7K2DwU

Download: http://cc.embarcadero.com/item/29260

    January 3 - Adding Actions and Gestures to a C++ FireMonkey App

In the third video you will learn how to add Actions and Gestures to an existing C++ FireMonkey sample application, FireFlow, using the TActionList and TGestureManager components and a few additional lines of C++ code.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/03/42292

Watch on YouTube: http://www.youtube.com/watch?v=jnwAKbSudbo

Download: http://cc.embarcadero.com/item/29261

    January 4 - Working with C++ FireMonkey Devices and Sensors

In the fourth video you will learn how to use the new Devices and Sensors support in your C++ FireMonkey applications. Device support is included for audio and video devices. Sensor support is included for Motion, Location and other hardware and software sensors.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/04/42299

Watch on YouTube: http://www.youtube.com/watch?v=KeE5fPvBefk

Download: http://cc.embarcadero.com/item/29262

    January 5 - Using the Metropolis UI in Existing C++ VCL and FireMonkey Apps

In the fifth video you will learn how to take your existing C++ VCL and FireMonkey applications and convert them to use the new Metropolis UI with its set of features that produce applications compatible with the look and feel of the Microsoft® Windows 8 user interface.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/05/42303

Watch on YouTube: http://www.youtube.com/watch?v=he39wfgcSA4

Download: http://cc.embarcadero.com/item/29263

    January 6 - Your first Dataset C++ FireMonkey application using ClientDataSet

In the sixth video you will learn how to build your first C++ FireMonkey application that connects to a data set using the TClientDataSet component. You will also see how to use the new Visual Live Bindings Wizard and Designer to add UI components to your application and bind them to the dataset columns.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/07/42307

Watch on YouTube: http://www.youtube.com/watch?v=uvnU3ZwMHE4

Download: http://cc.embarcadero.com/item/29266

    January 7 - Your first SQL Database C++ FireMonkey application using InterBase Express

In the seventh video you will learn how to build a C++ FireMonkey application that connects to an InterBase SQL database server using the InterBase Express components.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/07/42313

Watch on YouTube: http://www.youtube.com/watch?v=wCHd31-EElI

Download: http://cc.embarcadero.com/item/29267

    January 8 - Your first SQL Database C++ FireMonkey application using dbExpress

In this eighth video you will learn how to build a C++ FireMonkey multi-platform database client application using the dbExpress components, TDataSetProvider, and TClientDataSet to allow database updates to be sent back to the SQL database.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/08/42320

Watch on YouTube: http://www.youtube.com/watch?v=ljdo0yUNVmA

Download: http://cc.embarcadero.com/item/29268

    January 9 - Playing HD Video and Capturing Video bitmaps on Windows and Mac using C++Builder XE3

In this ninth video you will learn how to add audio and video support, play HD video movies and capture video bitmaps on Windows and Mac using C++Builder XE3 and FireMonkey. You’ll learn how to use the TMediaPlayer and TMediaPlayerControl components, the TMediaCodecManager class, and the TVideoCaptureDevice class.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/09/42329

Watch on YouTube: http://www.youtube.com/watch?v=ccZP1HqgIJg

Download: http://cc.embarcadero.com/item/29269

    January 10 - Playing and Capturing Audio on Windows and Mac using C++Builder XE3

In this tenth video you will learn how to play and capture audio on Windows and Mac using C++Builder XE3 and FireMonkey.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/15/42339

Watch on YouTube: http://www.youtube.com/watch?v=Ep90JT6Qhkc

Download: http://cc.embarcadero.com/item/29275

    January 11 - Capturing bitmaps from two video cameras on Windows and Mac using C++Builder XE3

In this eleventh video you will learn how to control the cameras and capture bitmaps from a computer that has two video cameras on a computer running Windows and Mac using C++Builder XE3 and FireMonkey.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/15/42344

Watch on YouTube: http://www.youtube.com/watch?v=bE0tYmxSDow

Download: http://cc.embarcadero.com/item/29279

    January 12 - Using Platform Services and OS info in your C++Builder XE3 Windows and Mac apps

In this twelfth video you will learn how use FireMonkey 2’s new Platform Services interfaces and TOSVersion (operating system information) in order to determine the services that are available on the run-time platform, and also to enable and use those services in your application running on Windows and Mac (and other devices in the future) using C++Builder XE3.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/16/42349

Watch on YouTube: http://www.youtube.com/watch?v=8E48Ao4s6w8

Download: http://cc.embarcadero.com/item/29280

    January 13 - Using the Motion and Location Sensor components with C++Builder XE3

In this thirteenth video you will learn how to use the MotionSensor and LocationSensor components to motion and location enable your C++Builder XE3 and FireMonkey applications.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/16/42353

Watch on YouTube: http://www.youtube.com/watch?v=MQXilVTWOhY

Download: http://cc.embarcadero.com/item/29281

    January 14 - Using Pixel Shader Image Effects in your C++Builder XE3 Windows and Mac apps

In this fourteenth video you will learn how to use the Pixel Shader based image effects and transition components with C++Builder XE3 and FireMonkey. Image effects can be used if you have a GPU and drivers for Windows and Mac.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/23/42362

Watch on YouTube: http://www.youtube.com/watch?v=t4M4ukTVFU0

Download: http://cc.embarcadero.com/item/29287

    January 15 - Building your first C++Builder XE3 FireMonkey 3D Windows and Mac app

In this fifteenth video you will learn how to create your first 3D desktop application with C++Builder XE3 and FireMonkey. There are many 3D scene, layer, shape and material components you can use to build stunning 3D applications. In this first 3D app you will learn how to put 3D shapes onto the 3D form, add color material source, manipulate the locations and rotations and work with the design time camera and add your own TCamera.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/24/42371

Watch on YouTube: http://www.youtube.com/watch?v=SKl80RD28Tc

Download: http://cc.embarcadero.com/item/29290

    January 16 - Using HD Controls, Cameras and Textures in your C++Builder XE3 Windows and Mac 3D Apps

In this sixteenth video you will learn how to add standard UI controls, Layers, Textures and manipulate multiple cameras in your C++Builder XE3 Windows and Mac 3D desktop applications. Using TLayer3D you can place the visual HD controls like TButton, TCheckBox, etc. You will also learn how to use Texture Material Sources.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/24/42377

Watch on YouTube: http://www.youtube.com/watch?v=UBa5WTd8ehM

Download: http://cc.embarcadero.com/item/29295

    January 17 - Using 3D in your C++Builder XE3 Windows and Mac HD Apps

In this seventeenth video you will learn how to add standard 3D controls to your C++Builder XE3 Windows and Mac HD applications using the ViewPort3D and TLight components.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/24/42386

Watch on YouTube: http://www.youtube.com/watch?v=QJjCTiZeZaU

Download: http://cc.embarcadero.com/item/29296

    January 18 - Building C++ and FireMonkey SQLite Database Apps

In this eighteenth video you will learn how to build the SQLite Windown 64-bit DLL and use SQLite in your your C++Builder XE3 and FireMonkey Windows and Mac HD applications

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/28/42401

Watch on YouTube: http://www.youtube.com/watch?v=5glYeApFn0k

Download: http://cc.embarcadero.com/item/29298

    January 19 - Using Image Effect Filters in your C++Builder XE3 Windows and Mac apps

In this nineteenth video you will learn how to use the FireMonkey image effect filters to apply filters to bitmaps and get the resulting bitmap using the filter’s Input and Output properties.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/28/42408

Watch on YouTube: http://www.youtube.com/watch?v=FKHURvN-utA

Download: http://cc.embarcadero.com/item/29299

    January 20 - Your first C++11 applications using the C++Builder 64-bit compiler

In this twentieth video you will learn how to build your first C++11 language applications using the new C++Builder 64-bit compiler for Windows.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/28/42413

Watch on YouTube: http://www.youtube.com/watch?v=1syKYgDIN9E

Download: http://cc.embarcadero.com/item/29300

    January 21 - Using the Boost C++11 Algorithms Library with the C++Builder 64-bit compiler

In this twenty-first video you will learn how to use the Boost C++ Algorithm Library’s C++11 algorithms using the new C++Builder 64-bit compiler for Windows.

Blog Post: http://blogs.embarcadero.com/davidi/2013/01/28/42419

Watch on YouTube: http://www.youtube.com/watch?v=czY_MErmA8U

Download: http://cc.embarcadero.com/item/29301

    January 22 - Adding Inline Assembler to your C++Builder 64-bit applications

In this twenty-second video you will learn how to include inline assembly language code using the C++Builder 64-bit compiler for Windows.

Blog Post: http://blogs.embarcadero.com/davidi/2013/02/02/42436

Watch on YouTube: http://www.youtube.com/watch?v=9hhGMzxpJyE

Download: http://cc.embarcadero.com/item/29304

    January 23 - Multilingual C++Builder FireMonkey applications using the TLang component

In this twenty-third video you will learn how localize the strings used in your FireMonkey applications and use the TLang component to switch the strings (automatically or under program control) for the locale where the program is running.

Blog Post: http://blogs.embarcadero.com/davidi/2013/02/02/42442

Watch on YouTube: http://www.youtube.com/watch?v=6jwHOA9JKSg

Download: http://cc.embarcadero.com/item/29305

    January 24 - Using LiveBindings and the TMS Software FireMonkey Grid in your C++ apps

In this twenty-fourth video you will see how easy it is to use LiveBindings to add the TMS Software FireMonkey Grid into your C++Builder XE3 applications.

Blog Post: http://blogs.embarcadero.com/davidi/2013/02/02/42447

Watch on YouTube: http://www.youtube.com/watch?v=bZxAt3gFpj4

Download: http://cc.embarcadero.com/item/29306

    January 25 - Combining Live Bindings and Actions in your C++Builder Windows and Mac apps

In this twenty-fifth video I show you how to use LiveBindings and Action Lists in your C++Builder FireMonkey database applications.

Blog Post: http://blogs.embarcadero.com/davidi/2013/02/02/42453

Watch on YouTube: http://www.youtube.com/watch?v=P3f9clRBfW8

Download: http://cc.embarcadero.com/item/29307

    January 26 - Building your C++ application UI with a PrototypeBindSource and a DataSet

In this twenty-sixth video you’ll learn how to start building your C++Builder database application using a LiveBindings TPrototypeBindSource and replace it with a real database.

Blog Post: http://blogs.embarcadero.com/davidi/2013/02/02/42466

Watch on YouTube: http://www.youtube.com/watch?v=Qc5J7sBLpuQ

Download: http://cc.embarcadero.com/item/29308

    January 27 - Building C++ database apps using InterBase XE3 ToGo

In this twenty-seventh video you’ll learn how to build and deploy a C++Builder master/detail database application using the InterBase XE3 ToGo edition.

Blog Post: http://blogs.embarcadero.com/davidi/2013/02/02/42472

Watch on YouTube: http://www.youtube.com/watch?v=HOJXDnNFl-A

Download: http://cc.embarcadero.com/item/29309

    January 28 - Building, installing and using a C++Builder 64-bit InterBase UDF

In this twenty-eight video you’ll learn how to build, install and use an InterBase 64-bit UDF (user defined function) built with the C++Builder 64-bit compiler for Windows.

Blog Post: http://blogs.embarcadero.com/davidi/2013/02/03/42478

Watch on YouTube: http://www.youtube.com/watch?v=asVIl1ttLUk

Download: http://cc.embarcadero.com/item/29310

    January 29 - Working with 3D models in your C++Builder Windows and Mac Apps

In this twenty-ninth video you’ll learn how to use industry standard 3D Model files (Collada DAE, Wavefront OBJ and ASCII Scene Export ASE) in your HD and 3D Windows (Win32/Win64) and Mac OS X applications using the TModel3D component.

Blog Post: http://blogs.embarcadero.com/davidi/2013/02/03/42486

Watch on YouTube: http://www.youtube.com/watch?v=A39ucuECCRM

Download: http://cc.embarcadero.com/Item/29311

    January 30 - Building your first multi-tier DataSnap app using C++Builder XE3

In this thirtieth video you’ll learn how to build your first Multi-Tier C++ application using C++Builder XE3 and DataSnap.

Blog Post: http://blogs.embarcadero.com/davidi/2013/02/03/42490

Watch on YouTube: http://www.youtube.com/watch?v=K8j39gGxGwc

Download: http://cc.embarcadero.com/item/29312

    January 31 - Building a C++ multi-tier master/detail Customer and Sales database app

In this thirty-first video you’ll learn how to build a multi-tier, master/detail customer and sales C++ database application using C++Builder XE3 and DataSnap.

Blog Post: http://blogs.embarcadero.com/davidi/2013/02/03/42498

Watch on YouTube: http://www.youtube.com/watch?v=a3J_XMT2wzU

Download: http://cc.embarcadero.com/item/29313



Article originally contributed by David Intersimone


Video: RAD Studio XE3 でライブタイルを使用するため...

Written by Chikako Yonezawa on . Posted in TOOLS

TLiveTile コンポーネントは、Windows 8上のライブタイルで RAD Studio XE3 アプリケーションを実行することができます。エンバカデロの Stephen Ball によるこのビデオでは、開発マシン上でライブタイルを使用するための環境のセットアップを ドキュメント に掲載されている手順に沿って解説しています。


The 25 days of C++mas - December 5 - stricter C++Builder Win64 co...

Written by Embarcadero USA on . Posted in TOOLS

This is a copy of a blog post from David I's Sip from the Firehose blog. Click to blog post title below to see the original blog post and comments.

  The 25 days of C++mas - December 5 - stricter C++Builder Win64 compiler

In providing support for the C++11 standard, the C++Builder 64-bit compiler for Windows is more strict than the C++Builder 32-bit compiler. As a developer you have the choice for which compiler you want to use depending on your platform needs.  If you want to build C++ applications for Windows and Mac OSX, use the 32-bit C++Builder compiler.  If you want build Windows only applications, you can use either compiler depending on our application needs.  VCL and FireMonkey component libraries are provided for both the 32-bit and 64-bit C++ compiler.  This blog post will detail some of the differences between the two compilers - BCC32 and BCC64.

Structural Syntax

  • BCC32 allows one to mix __try and catch.
  • BCC64 wants try/catch (standard C++) or __try/__except/__finally (Microsoft extensions).

Type Conversions

Assigning literal C-strings to char * generates a warning unless that pointer is declared const.
BCC32 allows assignment between char * and unsigned char* without any warning; in BCC64 this is a simple type mismatch error.

Implicit conversion from int to (classic, not type-safe) enum is allowed in BCC32 with a warning. In BCC64, implicit conversion is not allowed, and requires a cast. A common case is with enums like TColor and TCursor:

    TColor stones = (TColor) 0;  // instead of defaulting to random color, paint it black
    // Note: Vcl.Graphics.hpp does define the TColor clBlack

Defining Static Members

C++ static data members must be defined in only one place in your application. You should declare them in your class declaration in a header, and then define the data member in a source file (not in a header file).

For example:

    foo.h:
    struct X { static int static_member; };
    
    foo.cpp:
    #include "foo.h"
    int X::me;
    
    bar.cpp:
    #include "foo.h"
    int some_function() { return X::me; }

In this example, foo.cpp has the definition of X::me, and bar.cpp shows a use. The static member is declared in foo.h, but only defined in foo.cpp.

BCC32 allows multiple definitions of X::me, in violation of the C++11 standard, so you could do the following:

    foo.h:
    struct X { static int static_member; };
    int X::me;

In the case above (erroneous for BCC64, but allowed by BCC32), you are defining the static data member in the header, which will result in multiple definitions of X::me, one for each location the header is included. Our 64-bit tools do not permit this, and you might see linker errors such as this:

    [ilink64 Error] Error: Public symbol 'triplet::sum' defined in both module C:\USERS\WIN764\NODES.O and C:\USERS\WIN764\UNIT1.O

If you get these duplicate symbol definition errors from the linker for static data members, you should look for the erroneous pattern above, and fix your code to meet the ‘one definition’ requirement for static data members.

Differences between C++64 and C++32

  • BCC64 is also a preprocessor, when run with the -E switch. There is also a separate CPP64.EXE preprocessor.
  • BCC64 enforces template two-phase lookup. That is, names that are not tied to a dependent type are looked-up in the first phase (before instantiation) and might lead to errors that BCC32 did not report.
  • BCC64 allows a default argument only in a function declaration. BCC32 allowed default arguments in a function pointer or closure declaration as well.
  • BCC64 does not allow the use of sizeof in a preprocessor directive, such as #if sizeof(ATypeName) > 20.
  • BCC64 is stricter about conversions. For example, converting string constants to char* generates a warning (conversion from string literal to char * is deprecated). On the other hand, initializing a char* with an unsigned char* results in a plain error (Cannot initialize a variable of type ‘char *’ with an rvalue of type BYTE *, also known as unsigned char *).
  • BCC64 does not allow you to mix __try with catch: this is because catch must be used with try; and __try must be used with __except and/or __finally.
  • Unicode identifiers are not supported by BCC64.
  • CPP32 supports the -Hp option and prints header guard information that is used by the PCH Wizard.
  • CPP32’s default is not Unix style #line, and so forth.
  • The final (C++), deprecated and noreturn C++0x attributes are not supported by the 64-bit Windows C++ compiler. See Workaround for C++0x attributes for a workaround in BCC64.
  • Many BCC32 options are not supported by BCC64, and vice versa; see Options Not Supported by BCC64

If you want to make sure your C++ code works on Windows and Mac OSX, then create your project and start with the 32-bit target platforms for Windows and OSX. You can also then add the 64-bit Windows platform target and rebuild to see if there is any C++ code that will need #ifdefs to work with both compilers. Note: _WIN32 is defined (as the integer 1) for both Win32 and Win64 targets. This allows programs to target (modern) Windows in general, among other platforms; _WIN64 is defined only for Win64 targets.

Watch/Download the C++Builder 64-bit Compiler Preview

I cover additional details about the 64-bit C++Builder compiler in the preview video.  Watch the C++ 64-bit compiler preview video on YouTube at http://www.youtube.com/watch?v=PwwMpBUoR6Y. You can also download the MP4 video file at http://cc.embarcadero.com/item/29197.  The preview video is 9 minutes long.

CodeRage 7 C++ Conference, December 10-12, 2012

The CodeRage 7 C++ conference starts next Monday, December 10, 2012 at 6am Pacific Standard Time (14:00 UTC).  There are 3 days of C++ sessions including my special live, online conversation with Bjarne Stroustrup at 8am PST (16:00 UTC) on Monday.  Some of the C++ sessions you won’t want to miss are included in my blog post on November 21 - http://blogs.embarcadero.com/davidi/2012/11/21/41993.

Happy C++mas!

During the first 25 days of December leading up to Christmas, I will blog about the upcoming release of the C++Builder 64-bit compiler for Microsoft Windows and C++Builder XE3support for building VCL and FireMonkey 2 applications.



Article originally contributed by David Intersimone


The 25 days of C++mas - December 1 - C++Builder XE3 64-bit compil...

Written by Embarcadero USA on . Posted in TOOLS

This is a copy of a blog post from David I's Sip from the Firehose blog. Click to blog post title below to see the original blog post and comments.

  The 25 days of C++mas - December 1 - C++Builder XE3 64-bit compiler

C++Builder XE3, Embarcadero’s multi-platform C++ development solution for creating native applications for Windows and Mac, delivers the best of both worlds - a highly compliantC++11 64-bit Windows toolchain with an agile development solution. Now you can use the latest C++ features and libraries in your 64-bit Windows applications while you speed your development process with C++Builder’s agile, visual development environment. Embarcadero® C++Builder® XE3, with FireMonkey®, is the fastest way to deliver native applications multiple devices and operating systems including Windows and Mac, allowing developers to dramatically reduce coding time and build applications 5x faster.

The upcoming C++Builder XE3 64-bit compiler will include the following language and library support:

  • C++98, C++TR1, and C++11 language standards
  • ANSI C, ISO C, C99, and C11 language standards
  • Dinkumware standard C and standard C++ libraries version 5.3: Standard Template Library (STL), Standard C Library, Standard C Library Headers
  • Boost C++ libraries version 1.50
  • High-performance 64-bit code generation
  • Agile C++ language extensions

With C++Builder XE3 you can build VCL and FireMonkey 32-bit applications for Windows and Mac OS X. For 32-bit we provide Dunkumware STL version 5.01 and Boost version 1.39 libraries. If you build for 64-bit Windows then the IDE will use Dinkumware 5.3 and Boost 1.50. If you want to use one codebase for your Windows (32/64) and Mac OSX applications first build your VCL or FireMonkey application project and debug it for Win32 and then add the Win64 target platform, rebuild and test.

Some compiler and Windows differences to be aware of (most of the time the compiler and RTL will take care of things for you unless you have platform specific code):

  • 64-bit Windows Applications use the familiar Windows API
  • Windows API calls must be 64-bit versions.
  • Try blocks are supported in 64-bit Windows programs.
  • A 64-bit Windows application can use a 32-bit Windows type library (as some 64-bit MS Office applications do).
  • Cannot mix 32-bit and 64-bit code in the same process.
  • DLLs, components, libraries, and packages require that you compile or install separate 32-bit Windows (design-time) and 64-bit Windows (run-time) versions if you want to use the Form Designer.
    64-bit Windows is needed for OS extensions, shell extensions.
  • The size of LRESULT, WPARAM, and LPARAM all expand to 64 bits, so message handlers will have to be checked for inappropriate casts.

Object and Library file formats are different in the 32-bit and 64-bit C++ compilers.

  • BCC32 and its associated tools use OMF in .obj and .lib files
  • BCC64 uses ELF in .o and .a files
  • When you migrate a 32-bit Windows application to 64-bit Windows, you must change references to .lib and .obj to be .a and .o, respectively.
  • Where possible, object and library file extensions should be removed. When necessary, as in custom scripts, the extension must be changed or made conditional with version detection.

Support for Inline assembler in the 32-bit and 64- bit C++ compiler

  • C++Builder 32-bit style inline assembly is not supported in the 64-bit compiler.
  • The C++ 64-bit compiler does support inline assembly using the line-by-line AT&T syntax, not the more familiar block-of-Intel syntax.
  • Functions can be written entirely in assembly (using a separate assembler) and may be linked into your program.

Watch/Download the C++Builder 64-bit Compiler Preview

This short preview video discusses the C++Builder XE3 compiler support for building 64-bit VCL and FireMonkey Windows applications. C++Builder XE3 delivers the best of both worlds - a highly compliant C++11 64-bit Windows toolchain with an agile development solution. Several C++ applications are demoed showing how you can build 64-bit applications and also use the latest C++ features and libraries. Also discussed in the preview video are some of the differences between the C++Builder XE3 32-bit and 64-bit compiler.  Watch the video on YouTube at http://www.youtube.com/watch?v=PwwMpBUoR6Y. You can also download the MP4 video file at http://cc.embarcadero.com/item/29197.  The preview video is 9 minutes long.

CodeRage 7 C++ conference, December 10-12, 2012

CodeRage 7 C++ conference starts next Monday, December 10, 2012 at 6am Pacific Standard Time (14:00 UTC).  We’ll have 3 days of C++ sessions including my special live, online conversation with Bjarne Stroustrup at 8am PST (16:00 UTC) on Monday.  Some of the C++ sessions you won’t want to miss are included in my blog post on November 21 - http://blogs.embarcadero.com/davidi/2012/11/21/41993.

Happy C++mas!

During the first 25 days of December leading up to Christmas, I will blog about the upcoming release of the C++Builder 64-bit compiler for Microsoft Windows and C++Builder XE3 support for building VCL and FireMonkey 2 applications (sorry these first two are late).  if you have a spare moment, also check out my 2010 blog post, "A Developer’s Night Before Christmas".



Article originally contributed by David Intersimone


HTML5 Builder upgrade for RadPHP and Delphi for PHP users - Try t...

Written by Tim DelChiaro on . Posted in TOOLS

Note: This is a copy of a US/Canada email and pricing mentioned in the email is for those countries. 

HTML5 Builder - Deliver Web and mobile applications 5x faster - Learn More

HTML5 Builder is the new upgrade for RadPHP and Delphi for PHP users – Download a free trial!
Get ready for the next step in web and mobile development. New HTML5 Builder is here and takes RadPHP to the next level with an updated IDE, new HTML5 support and new mobile development capabilities that make it the best choice yet for web app and mobile app development. Get started and experience the new version today! 

Here’s why HTML5 Builder is a must-have upgrade for RadPHP users

Multiplatform mobile development
Now you can create mobile apps for iOS, Android, Windows Phone and BlackBerry using a single HTML5, JavaScript, PHP and CSS3 codebase. Compile your mobile apps using PhoneGap and the native phone SDKs on your machine. Or compile in the cloud using the integrated PhoneGap Build system, without the need to install any SDKs on your machine.

Workflow Optimized UI
HTML5 Builder has been optimized for usability. Context based workflows only display tools and menus that are applicable to the user's current action, making application development easier and faster than ever before.

HTML5 Components
Canvas - Dynamically draw and render 2D and 3D shapes and images using JavaScript. Draw basic shapes, create fluid drawings and charts, add effects to photos and even apply animations and effects to videos.

Geolocation - Show the user's current location on a map, display location specific information to your customers and more. Use it in mobile web apps to show nearby events or on your website to get details on your customer's current location, connection speed and more.

Audio & Video - Videos and audio clips are rendered directly in the browser, displaying the browser's native media controls. Easily play movies or audio tracks on your website. Or develop your own advanced media player with custom skins or combine it with the canvas component to apply stunning visual effects to your videos. The possibilities are endless.

CSS3 Styling and Animations
With CSS3 support in HTML5 Builder, you can set and customize CSS3 properties for each user interface element. HTML5 Builder also offers an intuitive visual interface for creating CSS3 animations and generates CSS3 code that can be viewed and edited in the Code Editor.

jQuery Mobile UI Theming
Create new color schemes for your mobile applications by dragging and dropping colors onto your UI controls. CSS files are automatically generated for you to be used to style a control or an entire mobile application to your liking.

Live Preview
Write your own HTML and JavaScript code or use an existing template. See code changes live and get a live preview of your project. Design and customize existing HTML5 Builder UI components through CSS3 property and animation editors and embed them in your client page with Live Preview.

Code Insight for HTML, JavaScript, JQuery and PHP
Code Insight is now available HTML, JavaScript, JQuery and PHP, providing instant access to information as you code your application. Code Insight offers code completion by displaying hints with relevant elements as you type and shows tools tips for expressions and symbols.

Amazing Charts with TeeChart Lite
TeeChart Lite for HTML5 Builder plots charts to all compatible browsers in native JavaScript format using the HTML5 Canvas element. Charts can be added at design-time to Web Server, Web client and Web mobile pages and programmed in PHP and JavaScript.

Now is a great time to get started with HTML5 Builder!

Take your web and mobile development to the next level. Experience the new HTML5 Builder idea and see what you can create.

For volume purchases, please call us at 1-888-233-2224.

Try HTML5 Builder 
free for 30 days! >
 

Learn more about 
HTML5 Builder
Download a free 
HTML5 Builder Trial
Have a question? 
Give us a call at 
1-888-233-2224
Embarcadero Developer Network Facebook Twitter YouTube

How to Generate Documentation from Delphi Source Code

Written by Tim DelChiaro on . Posted in TOOLS

How to Generate Documentation from Delphi Source Code

If you have ever read Getting Started with Documentation Insight, you should know how to browse and document source code in Delphi. In this tutorial, let’s see how to use Documentation Insight Enterprise version to produce rich documentation files with only a few steps.

1. Open an existing project or a project group in RAD Studio

2. Click the menu Documentation – Generate Documentation…

Documentation Insight will find the corresponding documentation project (. diproj  file type) in the same location of the current project (or group). A default documentation project will be created if not found. You may also click the  New Project  to create a new empty documentation project or use  Open Project  to open an existing project.

3. We will see some basic information in the first page:

4. By default, all current source code projects opened in the IDE will be added into the documentation project, you may add or remove any project.

5. In the next step, we can customize the header and footer template. If we would like to generate documentation for code elements in the implementation section, just check the first option.

Note: The templates must be valid. You may use the following variables: <%TopicTitle%>, <%Title%>,<%Author%>,<%Summary%>,<%Comment%>,<%Copyright%>

6. Publish options
At last, we may choose the output documentation types and their corresponding location. The locations are relative to current documentation project.

To generate a Microsoft Help V2.x (Single HxS file) file, you require Microsoft Help 2 Compiler which is distributed with Visual Studio 2003-2008.

Finally, just click the Generate button, Documentation Generator will compile the source projects and produce various documentation files for you.

Tick, tick, tick… It Succeeded!


Here lists all results in the generation process.
You may click the hyperlinks to explore the generated artifacts:

Web pages


Default page

The Index tab
We use a lightweight local server (Help & Manual H2 Go) to preview html files as some web browsers have restrictions for local web pages.

Online Documentation Samplehttp://www.spring4d.org/help/

* CHM file

* Microsoft Help 2 file
When you click the hyperlink of MSHelp2 file (Single .HxS file), the file will be automatically registered and Documentation Insight will use Microsoft Documentation Explorer (dexplore.exe) to browse the help file.

The help file will be automatically integrated into your local RAD Studio Documentation (2005-XE2).

* Help & Manual

Help & Manual is a well-known help authoring software. Documentation Insight can extract documentation from your source code and generate H&M files so that you may merge it into your own H&M project. Then you can customize the template in H&M and publish them together to produce uniform help files and deliver to your customers. (H&M also supports various formatting e.g. Web page, CHM, PDF, RTF, E-Books.)

Applying a H&M skin and publish to a CHM file like this:

Once the H&M project file was generated, Documentation Insight only updates the project information (Title, Author, Copyright) while all API documentation topics in the H&M project will be overwritten without any confirmation. You should not edit the generated topics in H&M otherwise your changes will be lost.

Can’t wait to generate documentation? Try Documentation Insight!


Documentation Insight Tutorial

Written by Tim DelChiaro on . Posted in TOOLS

Looking for a tool to document your Delphi source code? Now you can use Documentation Insight Express from DevJet Software, included free in Delphi XE2 and RAD Studio XE2.  

This tutorial, also available in the Documentation Insight online help, demonstrates how to use Documentation Insight to quickly document your code.

1. Ensure you have successfully installed Documentation Insight Express.

2. Open RAD Studio IDE.

3. Create a new VCL Forms Project in Delphi Projects.

4. Double Click the main form and you will see the following similar source code:

Sample Unit

unit Unit12;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

type
    TForm12 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form12: TForm12;

implementation

{$R *.dfm}

procedure TForm12.FormCreate(Sender: TObject);

begin

end;

end.

5. Move the cursor in the FormCreate, and then Click Tools->Documentation Insight Express->Show Documentation in the IDE. (Or press the hot key Ctrl+Alt+D in the source editor)

You should see the Documentation window. By default, it is floating over the source editor. You may dock it to proper position.

 Hide image
Click to see full-sized image

Tip:

Documentation Insight always extracts necessary meta data (such as parameters) from the current code element to make it easier to document your code.

Now you are able to naturally write documentation. Documentation Insight will automatically generate well-formatted XML documentation and update the source code. For example:

Hide image
Click to see full-sized image

Generated XML Documentation:

Hide image

6. That's all. Now you may switch to the Preview mode to view the API documentation. Help Insight should also work when you move mouse over the FormCreate method.

Once you get started with Documentation Insight, be sure to also check out the Professional edition available from DevJet to get an expanded feature set. You can also watch a quick Documentation Insight tutorial video. Learn more at DevJet Software - http://www.devjet.net/


Check out more tips and tricks in this development video: