Developer׳S Journal

Total Page:16

File Type:pdf, Size:1020Kb

Developer׳S Journal Volume 14, Number 5—May 2010 (Special Issue) www.bcbjournal.com ISSN 1093-2097 A Monthly Publication Offering Tips & Techniques for C++Builder Developer’s Journal Edited by Malcolm Smith, Malcolm Groves, Curtis Krauskopf, Remy Lebeau, Bob Swart, and Damon Chandler SSppeecciiaall IIssssuuee CChhaannggiinngg CC++++ PPrreeffaaccee BBuuiillddeerr 22001100’’ss Malcolm Smith DDeeffaauulltt SSaavvee DDiirreeccttoorryy DDaattaaSSnnaapp 22001100 Curtis Krauskopf Bob Swart BBuuiillddiinngg aa CCuussttoomm MMiiggrraattiinngg ttoo MMuullttii--TToouucchh UUnniiccooddee,, PPaarrtt II SSyysstteemm Josh Kelley Byeongcheol Nam and Ki-Tae Bae MMiiggrraattiinngg ttoo UUnniiccooddee,, PPaarrtt IIII LLiibbrraarryy PPrroobblleemmss Curtis Krauskopf Josh Kelley MJFAF Special Offer Page 28 EnCoded Communications Group www.bcbjournal.com C++Builder Developer’s Journal Volume 14, Number 5—May 2010 (Special Issue) Table of Contents 4 IINN TTHHIISS IISSSSUUEE:: 4 Special Issue Preface 3 Malcolm Smith DataSnap 2010 1122 4 Bob Swart Migrating to Unicode, 12 Part I Josh Kelley 1199 Migrating to Unicode, 19 Part II Josh Kelley Changing C++Builder 2299 2010’s Default Save 29 Directory Curtis Krauskopf Building a Custom 3322 32 Multi-Touch System Byeongcheol Nam and Ki-Tae Bae Library Problems 40 Curtis Krauskopf 4400 Developer’s Poll ........ 45 Contributors ............. 46 ISSN 1093-2097 2 C++Builder Developer’s Journal M. Smith, Special Issue Preface Volume 14, Number 5—May 2010 (Special Issue) Special Issue Preface By Malcolm Smith elcome to this special issue of the C++Builder Developer‘s Journal on C++Builder 2010. W Next, ByeongCheol Nam and Ki-Tae Bae de- C++Builder continues to be the tool of choice for scribe how to develop a multi-touch system using developers seeking a powerful, yet easy-to-use C++Builder 2010. The authors present a system which application-development solution for Windows. uses an infrared sensor as a multi-touch sensing de- Embarcadero C++Builder 2010 represents the latest vice; however, for those without such a device, you and greatest release of this award-winning tool. can still test the code by using two mice. This special issue discusses several important Finally, Curtis Krauskopf closes the special issue aspects of C++Builder development which are unique with an article on his experiences in porting libraries to version 2010. Even more, many of the techniques from BCB 6 to C++Builder 2010. Curtis discusses how presented in this issue are relevant to all developers to overcome a significant po- who upgrade to a newer tential problem when linking version of C++Builder. This special issue discusses static libraries into a Bob Swart opens the C++Builder 2010 project. issue with an article on how several important aspects of Thanks to the authors and to use C++Builder 2010 to C++Builder development which editors who have made this build DataSnap 2010 server are unique to version 2010. special issue possible. A spe- and client applications. Bob cial thanks is particularly due discusses several unique to our loyal readers who have aspects of DataSnap 2010, including server methods. continued to support the C++Builder Developer‘s If you need a robust way of creating a data bro- Journal since its first publication over 13 years ago. ker/client application, this is the article for you. On behalf of the special issue editorial board, I‘d Next, Josh Kelley provides an important two-part like to welcome you to this special issue, and I sincere- series on migrating a C++Builder application to Un- ly hope you find the material useful. Enjoy! icode—a daunting process for most developers. In his first article, Josh provides an introduction to Unicode and discusses various ways to work with Unicode text in C, C++, the Windows API, and the VCL. Malcolm Smith, Special Issue Lead Editor In his second article on Unicode, Josh provides MJ Freelancing and Comvision Pty Ltd specific details and guidelines on how to migrate a C++Builder application to Unicode. Josh presents sev- Other Special Issue Editors: eral C/C++ techniques that can be used to help with a Guest Editor: Malcolm Groves Unicode migration. This two-part series is a must- Embarcadero Technologies read for all C++Builder developers. Guest Editor: Curtis Krauskopf Next, Curtis Krauskopf provides three techniques The Database Managers for changing the default directory where new Guest Editor: Remy Lebeau C++Builder 2010 projects are saved. As we all know, Lebeau Software, TeamB, and Indy Project Team the C++Builder IDE insists on saving new projects Guest Editor: Bob Swart into the folder ―My Documents\RAD Stu- Bob Swart Training & Consultancy (eBob42.com) dio\Projects,‖ whereas most developers prefer to save their projects in custom locations. Curtis presents Publications Editor: Damon Chandler three approaches for customizing this location. C++Builder Developer‘s Journal C++Builder Developer’s Journal 3 www.bcbjournal.com Volume 14, Number 5—May 2010 (Special Issue) B. Swart, DataSnap 2010 DataSnap 2010 By Bob Swart Versions: C++Builder 2010 n a previous article, I demonstrated how to use DataSnap in C++Builder 2007 on Windows Vista I to build multi-tier database applications [1]. In the years that followed, DataSnap has undergone a signif- icant overhaul. No longer based on COM, the new DataSnap multi-tier architecture is more lightweight, but also feels like it is ―not yet finished‖ in all places. Unfortunately, C++Builder support is one of the the main form to DSForm, and the Caption to areas which is a lacking compared to the Delphi sup- ―C++Builder DataSnap 2010 Server Container‖, so we port for the new DataSnap. Delphi 2010 includes two know what‘s going on when we see this form run- DataSnap Wizards to produce different kinds of ning. projects, for example, with all components and prop- The ―DataSnap Server‖ category on the Tool Pa- erties already connected and ready to go. With lette contains the new DataSnap components that we C++Builder, we still have to do all that manually, and need to use to produce a DataSnap server application some things will take more effort than others. (see Figure 1). Two components are always needed In this article I will take you all the way, from for any and all DataSnap Server applications: the start to deployment, and even to server methods TDSServer and TDSServerClass components. which out-of-the-box are not possible in C++ for C++Builder, but with a little help from Delphi (or a C++Builder helper class) we can still get them as well. TDSServer Anyway, more than enough to cover lots of time and First, place a TDSServer component on the main form. pages, so let‘s get started. The TDSServer is the actual ―engine‖ of the DataSnap Server, and we can start, pause, or stop this engine C++Builder 2010 Enterprise using the corresponding commands. By default, the TDSServer has the AutoStart property set to true, to You will need the Enterprise (or greater) edition of automatically start the engine when the application C++Builder to be able to participate. Since there are itself starts. There is also a property called HideDSAd- no special DataSnap wizards in C++Builder, we need min which is set to false by default, but can be set to to start with a new VCL Forms Application (you can true to hide some of the methods that the DataSnap also start with a Windows Service Application, but the Server exposes that are not of use for the average Da- normal VCL Forms Application is taSnap Server application. If you the easiest one to demonstrate leave this property set to false, and debug). When saving the then you‘ll see the methods later project, I save the form (UnitX) in when we connect the DataSnap the file ServerContainer.cpp. This client to the server. will be the unit that holds the The TDSServer class has five DataSnap server communication events that we can hook into, to components. The project itself is trace what‘s going on with the saved in DS2010BCBServer- server. The events are OnCon- .cbproj in my case. nect, OnDisconnect, OnError, I‘ve set the Name property of Figure 1: DataSnap server components. OnPrepare and OnTrace. The ISSN 1093-2097 4 C++Builder Developer’s Journal B. Swart, DataSnap 2010 Volume 14, Number 5—May 2010 (Special Issue) OnTrace event gives us interesting details on the server class. This instance will handle all requests commands and data being sent back and forth be- from that source, so it‘s possible to maintain state (i.e. tween the clients and the server. Even if you do not to ask for ―the next 10 records‖, since the server will want to trace the communications, you should at least remember the previous position). The default setting write an event handler for the OnError event, to en- of Session results in the easiest way to build DataS- sure that the server will be notified (or at least some- nap servers and clients, but not in the most scalable one will be notified) of an error situation. The TDSEr- architecture. A few thousand concurrent requests in a rorEventObject has a property, Error, with the ex- time span of only one minute will be tough to handle ception that was causing the error, so the least we can by any DataSnap server if LifeCycle is set to Ses- do is present that information: sion (but a lesser problem for LifeCycle set to Serv- er or Invocation). void __fastcall TDSForm::DSServer1Error( OnGetClass TDSErrorEventObject *DSErrorEventObject) We must use the event hander of the { TDSServerClass to specify which class to use as the ShowMessage(DSErrorEventObject-> DataSnap server class. This should be a data module if Error->Message); we want to expose TDataSetProvider components— } which usually is the case.
Recommended publications
  • Rolando E. Quirós CPI®, CSM®, ITIL Intermediate ®, SSYB®, SSGB®, CMMI®
    Rolando E. Quirós CPI®, CSM®, ITIL Intermediate ®, SSYB®, SSGB®, CMMI® Delivery Manager / Project Manager / Account Manager / Dev. Manager / Services Manager / Technology Manager PERSONAL DETAILS PERSONAL SUMMARY A: Heredia, Costa Rica M: (506) 6420-7806 A holistic, talented and ambitious manager, who has the required technical knowledge and soft skills along E: [email protected] with comparable experience of working to the highest standards. Rolando has a long track record of ID: 108170164 ensuring projects are delivered to the highest quality, within budget by effectively organizing, managing and VISA US: Yes utilizing all resources. He is able to lead teams on software development and services projects where the highest standards are routinely demanded. Always wanting to be actively involved in all aspects of the Nationality: Costa Rican project life-cycle he can deliver high-value projects in matrixes organizations and across different geographies. He takes direction well and works hard to manage stakeholder expectations. LANGUAGES Spanish (native) Since 1992, Rolando has been working in the software and technology industry in different roles (Quality English (B2+ – Advanced) assurance engineer, software engineer, software architect, project manager and delivery manager), always learning new technologies, methodologies, processes and best practices, implementing them to ensure quality in the project as is reflected in his educational and expertise history. CAREER STATEMENT “Apart from contributing to the processes Rolando is willing to travel and/or spend long periods abroad and is currently looking for a suitable position and strategies which enhance any projects I with a market leader company. am working on; I feel that my greatest strengths are firstly my ability to deliver KEY SKILLS AND COMPETENCIES projects to agreed timescales.
    [Show full text]
  • Rapid Application Development Software | Codegear RAD Studio
    RAD Studio 2010 Product Review Guide August 2009 Corporate Headquarters EMEA Headquarters Asia-Pacific Headquarters 100 California Street, 12th Floor York House L7. 313 La Trobe Street San Francisco, California 94111 18 York Road Melbourne VIC 3000 Maidenhead, Berkshire Australia SL6 1SF, United Kingdom RAD Studio 2010 Reviewer Guide TABLE OF CONTENTS Table of Contents ............................................................................................................................ - 1 - Introduction ...................................................................................................................................... - 3 - General Overview of RAD Studio 2010 ...................................................................................... - 3 - What is New in RAD Studio 2010 ............................................................................................... - 3 - A Word on Delphi Prism ............................................................................................................. - 6 - Prerequisites ................................................................................................................................ - 7 - Minimum System Requirements ................................................................................................. - 7 - Internationalizations .................................................................................................................... - 7 - Editions ........................................................................................................................................
    [Show full text]
  • Delphi XE2 Feature Matrix
    Delphi® XE2 The fastest way to build native applications for Windows, Mac and iOS Feature Matrix Feature Architect Ultimate Enterprise Professional Starter INTEGRATED COMPILERS Enhanced in XE2! High-performance 32-bit optimizing Delphi® native code compiler 23.0 (dcc32), including High performance x86 Assembler – 32-bit inline assembler supporting the Intel® x86 instruction set (including Intel Pentium® Pro, Pentium III, X X X X X Pentium 4, Intel MMX™, SIMD, Streaming SIMD Extensions, SSE, SSE2, SSE3, SSE 4.1, SSE 4.2, AMD SSE4A and AMD® 3DNow!® New in XE2! Delphi 64-bit compiler X X X X New in XE2! Delphi OS X compiler X X X X Delphi command line compiler (dcc32.exe) X X X X Enhanced in XE2! Create 32-bit optimized Delphi native executables that can run X X X X X on both 32 and 64-bit Windows operating systems APPLICATION PLATFORMS, INTEGRATED FRAMEWORKS, DESIGNERS, SDKS AND INSTALLERS New in XE2! FireMonkey Platform for creating 32-bit Windows applications for X X X X X Windows 7, Windows Vista and XP; Server 2003 and 2008. New in XE2! FireMonkey Platform for creating 64-bit Windows applications for X X X X Windows 7, Windows Vista and XP; Server 2003 and 2008. New in XE2! FireMonkey Platform for creating OS X 10.6 and 10.7 applications X X X X New in XE2! FireMonkey Platform for creating applications for iOS 4.2 and higher X X X X New in XE2! VCL (Visual Component Library) for rapidly building 64-bit applications X X X X for Windows 7,Windows Vista and XP; Server 2003 and 2008.
    [Show full text]
  • The Delphi Language for Mobile Development
    This document is an introduction to changes in the “Mobile” version of Delphi and the new Delphi ARM compiler. The focus of this document is to highlight the language changes and techniques that can be used to port existing code and to maintain backwards compatibility. Author: Marco Cantu, Delphi Product Manager, Embarcadero Technologies (suggest updates and integrations to [email protected]). Written with very significant technical contributions by Allen Bauer and the help of many reviewers. Document Revision: 1.0 Moving Delphi to mobile ARM platforms is part of a larger evolution for the Delphi language. As such, the R&D team here at Embarcadero adopted a new architecture that will be common among all Embarcadero languages. Rather than building the compiler and all of the related tools (often indicated with the term “toolchain”) in a completely proprietary and autonomous way, we decided to leverage an existing compiler and tool chain infrastructure that has broad industry support, making it faster for us to add new platforms and operating systems in the future as market demands change. Specifically, the new generation of Delphi compilers (and also the C++Builder compilers) utilize the LLVM architecture. What is this LLVM and why does this matter? Let’s take a quick look at LLVM, and return to our main topic later. The LLVM project has its main web site with a detailed description at http://llvm.org In short, LLVM is “a collection of modular and reusable compiler and tool-chain technologies”. Despite the name (which was originally an acronym, but it is now considered as “the full name of the project”), LLVM has little to do with virtual machines.
    [Show full text]
  • Information Technology
    UPTEC IT 09 009 Examensarbete 30 hp Maj 2009 Database Performance and Complexity in Visual DataFlex Håkan Johansson Abstract Database Performance and Complexity in Visual DataFlex Håkan Johansson Teknisk- naturvetenskaplig fakultet UTH-enheten This report is meant to be used when choosing a third-party database management system in combination with Visual DataFlex. The database managers that are included Besöksadress: in this test are Microsoft SQL Server, Pervasive.SQL, Oracle and Embedded Database. Ångströmlaboratoriet Lägerhyddsvägen 1 It will cover the pros and cons with each tested database manager when using Hus 4, Plan 0 applications created with Visual DataFlex. It will also cover the fault-tolerance when using clustering, the backup possibilities with minimal downtime and the complexity of Postadress: installing and configuring the database manager. Box 536 751 21 Uppsala Visual DataFlex is a framework for developing database applications aimed at Telefon: Windows or web platforms. The framework is owned and developed by Data Access 018 – 471 30 03 Worldwide, Inc. Telefax: 018 – 471 30 00 Visual DataFlex provides a database manager called Embedded Database which is not suitable to be used in a multi-client environment. Therefore, in multi-client Hemsida: environments, a third party database management system is normally used. http://www.teknat.uu.se/student Visual DataFlex is primarily used in smaller and midsized environments. Database administrators are normally not wanted in these environments and therefore it is important that the third-party database management system is easy to set up and configure. For database independency, Visual DataFlex uses connectivity kits which are an abstraction layer between the internal interface in Visual DataFlex and the client software of the database manager in use.
    [Show full text]
  • C++ Builder 2010 Professional Getting Started
    C++ Builder 2010 Professional Getting started. Kjell Gunnar Bleivik: http://www.kjellbleivik.com/ October 18. 2010. Fixed broken link. Status: Most probably finished. Look at the date in case more should be added. Follow me on Twitter and join my C++ Builder group on Facebook: Twitter: http://twitter.com/kbleivik FaceBook: http://www.facebook.com/people/Kjell-Gunnar-Bleivik/1244860831 Mini network: http://www.digitalpunkt.no/ 1. Installing C++Builder 2010, the help system etc. I ordered my upgrade of Borland C++ Builder Prosessional 2010 on September 21 2009 so I could choose an additional free product. I choose Delphi PHP 2.0, since I am fairly used to PHP. In order to install C++ Builder 2010, I had to upgrade my 2009 version. I have made an 2009 and 2010 upgrade shortcut on my desktop. You should find your upgrade program: | your start menu or in | the all program category | CodeGear RAD studio 2009 | Check for updates | Program | When finished upgrading the 2009 Builder, I could run the C++ Builder 2010 Setup program. In addition, I installed the additional first three programs that I also find in the Install Folder. Look at the screendumps below, so you get it correct. • Help_Setup Program • dbpack_setup Program • boost_setup Program • Additional_Products HTML document. • ERStudio_Interbase HTML document 2. Getting started with C++ Builder 2010 Professional. If you learn to use the welcome page efficiently, that may be all you need. On the “documentation” menu, you should start with, yes “Getting started” and then “RAD Studio Help” and so on. As an example click: | Documentation | … and try to locate this http://docs.embarcadero.com/products/rad_studio/ page with Wiki pages, PDF documents, zipped code examples for download, PDF documents since C++Builder 6 (scroll down to the bottom) and CHM http://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help files.
    [Show full text]
  • Managing Java EE Performance with Embarcadero's J Optimizer Request
    Tech Notes Managing Java EE Performance with Embarcadero’s J Optimizer Request Analyzer Al F. Mannarino, Embarcadero Technologies June 2008 Corporate Headquarters EMEA Headquarters Asia-Pacific Headquarters 100 California Street, 12th Floor York House L7. 313 La Trobe Street San Francisco, California 94111 18 York Road Melbourne VIC 3000 Maidenhead, Berkshire Australia SL6 1SF, United Kingdom Managing Java EE Performance Using Embarcadero J Optimizer Request Analyzer The iterative use of performance tools throughout the development process is critical for keeping performance and reliability problems under control as well as for producing fast, scalable Java EE and Java SE applications. Java™ technology is great for accelerating time-to market, but performance and reliability risks can become a serious challenge. Because Java technology provides a higher level of abstraction, it affords developers only a limited understanding of—and control over—the way their code is executed. Embarcadero J Optimizer offers a four-pronged attack at improving Java application performance. Three of those four prongs address developer performance considerations and are focused on individual developer productivity, identifying performance risks and reliability issues, and helping developers correct problems such as memory leaks, performance bottlenecks, and multi- threading issues. Within J Optimizer there are three profiling tools which help address these areas. • Profiler—examine memory and CPU use; identify memory leaks, inefficient temporary storage issues, CPU bottlenecks, and unit test performance regressions. • Thread Debugger—identify and analyze thread contention issues, thread-starvation, excessive locking, deadlocks, and other thread related issues. • Code Coverage—identify and analyze the classes, methods and lines of code that are being executed; remove dead code, improve quality, and improve the application's footprint.
    [Show full text]
  • 1. with Examples of Different Programming Languages Show How Programming Languages Are Organized Along the Given Rubrics: I
    AGBOOLA ABIOLA CSC302 17/SCI01/007 COMPUTER SCIENCE ASSIGNMENT ​ 1. With examples of different programming languages show how programming languages are organized along the given rubrics: i. Unstructured, structured, modular, object oriented, aspect oriented, activity oriented and event oriented programming requirement. ii. Based on domain requirements. iii. Based on requirements i and ii above. 2. Give brief preview of the evolution of programming languages in a chronological order. 3. Vividly distinguish between modular programming paradigm and object oriented programming paradigm. Answer 1i). UNSTRUCTURED LANGUAGE DEVELOPER DATE Assembly Language 1949 FORTRAN John Backus 1957 COBOL CODASYL, ANSI, ISO 1959 JOSS Cliff Shaw, RAND 1963 BASIC John G. Kemeny, Thomas E. Kurtz 1964 TELCOMP BBN 1965 MUMPS Neil Pappalardo 1966 FOCAL Richard Merrill, DEC 1968 STRUCTURED LANGUAGE DEVELOPER DATE ALGOL 58 Friedrich L. Bauer, and co. 1958 ALGOL 60 Backus, Bauer and co. 1960 ABC CWI 1980 Ada United States Department of Defence 1980 Accent R NIS 1980 Action! Optimized Systems Software 1983 Alef Phil Winterbottom 1992 DASL Sun Micro-systems Laboratories 1999-2003 MODULAR LANGUAGE DEVELOPER DATE ALGOL W Niklaus Wirth, Tony Hoare 1966 APL Larry Breed, Dick Lathwell and co. 1966 ALGOL 68 A. Van Wijngaarden and co. 1968 AMOS BASIC FranÇois Lionet anConstantin Stiropoulos 1990 Alice ML Saarland University 2000 Agda Ulf Norell;Catarina coquand(1.0) 2007 Arc Paul Graham, Robert Morris and co. 2008 Bosque Mark Marron 2019 OBJECT-ORIENTED LANGUAGE DEVELOPER DATE C* Thinking Machine 1987 Actor Charles Duff 1988 Aldor Thomas J. Watson Research Center 1990 Amiga E Wouter van Oortmerssen 1993 Action Script Macromedia 1998 BeanShell JCP 1999 AngelScript Andreas Jönsson 2003 Boo Rodrigo B.
    [Show full text]
  • Flex2sql ™ Mertech's ISAM to SQL Database Connectivity (ISDBC)
    MERTECH DATA SYSTEMS, INC 18503 Pines Boulevard, Suite 312 | Pembroke Pines, FL 33029 | USA Tel: (954)585-9016 | Fax: (866)228-1213 www.mertechdata.com Contents Overview Flex2SQL Product Fact Sheet Interaction with the DataFlex Runtime Flex2SQL ™ Handling Key DataFlex Features Other Features Mertech’s ISAM to SQL Database Evaluate Our Product Connectivity (ISDBC) Drivers For DataFlex® Contact Information © 2013 Mertech Data Systems, Inc. All rights reserved. This document is for informational purposes only. Mertech makes no warranties, expressed or implied, in this document. DataFlex is a registered trademark of Data Access Corporation. DB2 is a registered trademark of IBM Corporation. Flex2SQL and Mertech Data are trademarks of Mertech Data Systems, Inc. Linux is a registered trademark of Linus Torvalds Microsoft, SQL Server, and Windows are registered trademarks of Microsoft Corporation Oracle and MySQL are registered trademarks of Oracle Corporation. PostgreSQL is a registered trademark of PostgreSQL Inc. SCO is a trademark of The SCO Group. Other trademarks and trade names mentioned herein are the property of their respective owners. Overview The Internet revolution has underscored the importance of making data available reliably and at a high speed to an ever-growing user base. Corporations continue to consolidate their data into single, enterprise-wide databases so that information about customers, products, and the market can be easily extracted and manipulated. These databases also allow customers and their mobile workforce to update and retrieve information at the same time, from any location. The new, data-intensive demands of today’s businesses require a database server that is robust, scalable, gives excellent response time in extracting and manipulating data, has great disaster recovery features and above all provides excellent security features and guarantees 24X7 availability.
    [Show full text]
  • Release Notes December 30, 2016
    CONNX 12.5 Release Notes December 30, 2016 CONNX Solutions, Inc. Table of Contents CONNX 12.5 Release Notes ............................................................................................... 3 Overview .......................................................................................................................... 3 CONNX Architecture on Windows ................................................................................... 4 CONNX Architecture on UNIX .......................................................................................... 5 CONNX Architecture (ODBC/JDBC/OLEDB/.NET Provider) ............................................. 6 CONNX Client Engine for Windows ................................................................................. 6 CONNX Client Engine for UNIX ........................................................................................ 6 CONNX Data Dictionary ................................................................................................... 6 CONNX Server .................................................................................................................. 6 CONNX JDBC Thin Client .................................................................................................. 6 CONNX JDBC Server ......................................................................................................... 6 CONNX JDBC Router ........................................................................................................ 7 CONNX DataSync ............................................................................................................
    [Show full text]
  • C++Builder XE5 Feature Matrix | Multi-Device, True Native App
    C++Builder® XE5 Multi-device, true native app development with C++ Feature Matrix Feature Architect Ultimate Enterprise Professional Starter INTEGRATED COMPILERS AND TOOLCHAINS Introduced in XE3! C++ 64-bit compiler for Windows X X X X Enhanced in XE3! C++ OS X compiler X X X X Enhanced in XE5! Embarcadero C++ Compiler 6.70 (bcc64) X X X X Enhanced in XE5! Embarcadero C++ Compiler 6.70 (bcc32) X X X X Enhanced in XE3! C++ command line toolchains for Windows X X X X X Enhanced in XE3! C++ command line toolchains for OS X (bccosx) X X X X Create 32-bit optimized native executables that can run on both 32 X X X X X and 64-bit Windows operating systems Enhanced in XE3! ANSI/ISO C++11 and 99 Standard language X X X X conformance and Boost support for 64-bit #pragma once support that allows for better compatibility with MSVC X X X X X and also acts as a header guard [[deprecated]] attribute to flag constructs as deprecated X X X X X Build C++ packages for 32-bit applications X X X X X Secure C library functions X X X X X Enhanced compiler switches for XML representation of source code X X X X X Custom evaluators for C++ Strings types X X X X X Linker error handling to improve memory management flexibility and X X X X X resolution APPLICATION PLATFORMS, INTEGRATED FRAMEWORKS, DESIGNERS AND SDKS Enhanced in XE3! FM Application Platform for creating 32-bit Windows applications for Windows 8, Windows 7, Windows Vista and X X X X X XP; Server 2008 and 2012.
    [Show full text]
  • RAD Studio, Delphi, C++Builder XE8 Feature Matrix
    RAD Studio / Delphi / C++Builder Products Feature Matrix Each feature has an indication if it is available in the Delphi (D) and/or the C++Builder (C) personality, or in the HTML5 Builder (H) tool. RAD Studio editions include all three personalities, while single product editions (Delphi and C++Builder) have only the features marked for the corresponding personality. Enterprise+ indicates Enterprise and above editions (Ultimate, Architect). Starter edition is available only for single personalities, not for RAD Studio. See also the notes description at the bottom of this page. Feature Enterprise+ Professional Starter INTEGRATED COMPILERS AND TOOLCHAINS Delphi 32-bit native code optimizing compiler (dcc32), including high performance x86 Assembler D D D Delphi 64-bit compiler (dcc64) D D Delphi command line toolchains for Windows D D D5 Delphi OS X compiler (dccosx) D D Delphi command line toolchains for Mac OS X D D Delphi iOS ARM compiler (dccios32, dcciosarm) D D1 Delphi command line toolchains for iOS D D1 Introduced in XE8! iOS 64 bit Object Pascal compiler and toolchain D D1 Delphi Android ARM compiler for Device (dccaarm) D D1 Delphi command line toolchains for Android D D1 Embarcadero C++ compiler for Win64 (bcc64) C C Embarcadero C++ compiler for Win32 (bcc32) C C C New in 10 Seattle! C++ 11 CLANG-based compiler for Win32 (bcc32c) C C C Enhanced in 10 Seattle! Upgrade to v3.3 of CLANG and LLVM for Win64 and Win32 C C C5 C++ command line toolchains for Windows C C C5 C++ OS X compiler (bccosx) C C C++ command line toolchains for
    [Show full text]