C++ Boot Camp Monday, August 8, 2016 - Building your first application with C++Builder
The C++ Boot Camp starts on Monday, August 8, 2016 and continues each day of the week. I am kickoff the first day and will cover building your first C++Builder applications using VCL, FMX and the RTL. The following are some of the links to additional information for my presentation. See the rest of the C++ Boot Camp Here.
C++ Boot Camp Daily Agenda
- Day 1: August 8, 2016 – Building your first application with C++Builder
- Day 2: August 9, 2016 – Creating fast responsive user interfaces with animations and effects
- Day 3: August 10, 2016 – C++11 language deep dive, and online chat with Patrick Scheller & Bruneau Babet
- Day 4: August 11, 2016 – Game development with C++
- Day 5: August 12, 2016 – Stepping up to mobile
C++Builder Information Links
- C++ Bootcamp Webinar Page: http://community.embarcadero.com/blogs/entry/free-webinar-c-boot-camp
- C++Builder Product Page: https://www.embarcadero.com/products/cbuilder
- C++Builder Edition URL: https://www.embarcadero.com/products/cbuilder/product-editions
- C++ Starter Special Offer URL: https://www.embarcadero.com/app-development-tools-store/cbuilder-starter-promotional-edition?gclid=CJfNzODksM4CFYeVfgodPwMCZA
- Free C++ Command Line Compiler: https://www.embarcadero.com/free-tools/ccompiler
- C++Builder Starter YouTube Video: https://www.youtube.com/watch?v=WEkWqXd0bTk
- C++ Reference.com - compiler support page - includes Embarcadero C++Builder with clang-enhanced compiler based on clang version 3.3: http://en.cppreference.com/w/cpp/compiler_support
- Bjarne Stroustrup's "A Tour of C++" (isocpp.org): https://isocpp.org/tour
C++ Demos Source Code
C++ Parallel Programming Library projects code - http://cc.embarcadero.com/Item/30589
Q: When we can create service for Android in C++ Builder? Thanks.
A: I believe that is coming on the Godzilla 10.2 release later this year. Check out our roadmap. http://community.embarcadero.com/article/news/16418-product-roadmap-august-2016
Q: Is possible create all windows application using free compiler C++ Embarcadero ?
A: The free compiler supports Windows
Q: Is there C++ Builder for MacOS X?
A: There is not currently a C++Builder for MacOS X, but you can run C++Builder in a Windows Virtual Machine and create and debug applications for MacOS X from there.
Q: Day 5 is about mobile, is that possible with the starter edition?
A: Starter doesn't do mobile, but Day 5 will look at how to prototype your mobile apps with Starter, and what to be aware of when you upgrade to professional.
Q: What's the difference in bccp compile and clang...? can I use clang on c++ builder ide?
A: The C++Builder IDE supports both CLANG and the classic compiler. http://docwiki.embarcadero.com/RADStudio/Berlin/en/Clang
Q: Is there any Documentation or Help available for all Property details of GUI Controls?
Q: do you plan to modernize c++ builder editor?
A: We continue to update the IDE. Check out the roadmap. http://community.embarcadero.com/article/news/16418-product-roadmap-august-2016
Q: Happiness will come when we will be able to create services for Android in C++ Builder for TBeacon (enter/exit zone of TBeacon in C++ Builder). Now it is possible only in Delphi. Thanks.[Vladislav Boguslavskyy] [firstname.lastname@example.org] [Q: 6:25 AM] [A: 6:28 AM]
A: It is coming. Check the roadmap. http://community.embarcadero.com/article/news/16418-product-roadmap-august-2016
Q: is there C++ Builder for MacOS X?
A: Nope, you need to run C++ Builder on Windows, and deploy to any platform, including OS X, using our PAServer
Q: What were those two options to turn off again for stand-alone executables?
A: Project Options > Packages > Runtime Packages > uncheck 'Link with runtime packages' and C++ Linker -> uncheck 'Link with the dynamic RTL'. That results in a statically linked application you can distribute as a single EXE
Q: This session is "repeated" at 20:00 CET today right?
A: Here you have the full schedule: http://community.embarcadero.com/blogs/entry/free-webinar-c-boot-camp
Q: Is there a debug object inspector ?
A: Yes - the windows change automatically when changing between coding and debugging. You can make any window visible again through the View menu, and save a layout for coding and for debugging through the drop-down combo box and the save button next to it, on the toolbar next to the Help menu
Q: Is there any good books to teach me C++ from the basics to advance? It must just start from the bare basics! Any recommendations?
A: Yes - there's an excellent list of C++ books from beginner to expert in various areas here: http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
Q: XCode here
A: The big difference between XCode and our C++ is that you can build your app, 100% same code, 100% native for all platforms: iOS, OS X, Android and Windows... with Linux coming soon.
Q: I'm new to C/C++. How do you know what's in the Std. Library vs creating your own functions, headers, templates etc?
A: I recommend reading one of the introductory books here: http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list . They will give you a good idea what the STL contains, so when writing code you know what to expect to find even if you haven't used it before. Otherwise, http://cppreference.com/ has a great reference
Q: Is there an example with the parallel loop using the same call as the normal loop
A: Parallel loops have a different syntax as shown.
Q: Can you set the project settings to some custom values by default without setting it after creating the project like David does?
A: You can save and load "option sets", which lets you save a set of options to file and load and apply them to any project, and you can use that to apply a favourite set of options to any new project. You can also set an option, and then change or override it per platform or debug/release
Q: How to switch back and forth between GUI and code window?
A: F12 or the tabs at the bottom.
Q: does the starter edition run on OSX?
A: It's Windows only. C++Builder only runs on Windows, but the Pro+Mobile editions will build and deploy to a target platform of Mac, iOS, Android, etc (Linux soon too!)
Q: How can I see the output of debug messages in IDE Starter edition?
A: Streaming to cout will go to the app's console, or if you mean something like OutputDebugString then those messages appear in the Messages panel of the IDE
Q: I would like to hear about a comparison with QT (whose development tools run on all kinds of OS's)
A: Day 5, covering mobile development, will cover that. Basically, we have Win+Mac+iOS+Android, and FMX which is a great UI framework (GPU-powered, fast, and also allows some native controls! Great stuff. The multidevice designer is very useful too, lets you design once and tweak per platform, really cuts down work), plus many other x-plat frameworks for database, REST, etc
Q: To compile for ios target do we need to have a Mac?
A: Yes, or you can use a service like MacInCloud.
Q: How to get a license for the university for students?
A: Talk to sales
Q: Can I use ARC (automatic reference counter) in the starter with windows target?
A: No, ARC is currently mobile only (iOS and Android). We're looking into it for Win and Mac.
Q: Is it possible to write Windows services in the 1.10 Berlin?
Q: Would be good to see a simple application made from scratch. For example, a MINIMAL sound/video file player. [David mentions this will come later.]
A: Check out the samples too. http://docwiki.embarcadero.com/CodeExamples/Berlin/en/Main_Page
Q: There were code samples used in this webinar from a book. Which book was this again?
A: David I can answer, but I believe it was Programming: Principles and Practice Using C++ (Bjarne Stroustrup)
Q: What is the license of RAD 10.1 Berlin, i.e. can I use the software (starter editions) to build an application and sell it?
A: Yes, you can use Starter to sell an app until you make enough revenue that you can afford Pro when we ask you to upgrade. Starter is meant to get you started :)
Q: Do I need some specific kind of account on MacStore to develop for iOS and OSX?
A: Yes, this is an Apple license restriction
Q: Can FireMonkey applications be compiled for Linux?
A: We'll have Linux Server coming soon. No plans for visual apps in Linux at this moment.
Q: Is it possible to use two monitors and use one for design and one for code? If so, how?
Q: How do you backup license keys just in case something happens to your computer?
A: They are attached to your EDN account, so you can always log in and retrieve them. Or email us, we're happy to help :) However, we have a License Manager in the Program Files C++Builder folder which should help you export a log of licenses
Q: If I use RAD and start it via Parallels I have got very poor graphic on the screen on Mac! Is it possible to adjust resolution??
A: It depends on the Windows high DPI settings - it's better to have them set to a whole multiple, such as 200 or 300%
Q: Will the software development kit 10.0.10586.212 work with Windows 7?
Q: Can the executables generated for android be reverse engineered just like most java applications?
A: They are natively compiled (to ARM machine code) not to Java
Q: It is possible to see Components palette like a decade ago?
A: You certainly can :) View > Toolbars > Component
Q: can C++Builder hook onto processes for debugging DLLs built by C++Builder?
A: You can attach to any process through the Run menu, Attach to Process
Q: When you say "server-side development" for Linux, does it mean that there will be no GUI support for Linux as a target?
A: services (datasnap, webbroker, radserver) and console apps
Q: Is there a possible way to convert a project from Delphi to c++?
A: Yes - when you buy RAD Studio you can use both Delphi and C++ in one project, so slowly start adding C++ to your existing project
Q: Is it possible to create a project using C++ Builder and, when shared with others, they can build with GCC or LLVM?
A: Yes, absolutely, but GCC etc do not use our language extensions or our frameworks. If you stick to "plain" C++ then yes, it's absolutely portable. Note our Windows Clang and mobile compilers for iOS and Android use LLVM already :)
Q: Is it possible to install C++ Builder 10.1 together with my existing Delphi 10.1 Pro version on my computer?
A: Not the Starter Edition. You'll need to install in a separate VM
Q: F12 switches between code and designer. Is there a keyboard shortcut to switch between CPP and header (.h) tabs?
A: Yes, Ctrl+F6
Q: Can I convert a vcl app to a firemonkey app ?
A: It's possible, although there are some differences between the platforms. You can do it manually, with the help of our ReFind, or you can do it using this tool from a third part provider: http://www.midaconverter.com/
Q: Does the either of Delphi and C++ builder have capabilities the other cannot do?
A: I think there are very minor differences (we don't currently support the iOS simulator on C++, for example) but the core things are the same!
Q: what is the latest version of c++?
A: 10.1 Berlin
Q: Thanks, is there a wiki page for keyboard shortcuts?
Q: Is it possible to split the Delphi development environment 2010 into multiple screens two? I can't seem to figure out how to do it?
A: In Berlin, you can create new edit windows, and drag tool windows to other screens, and dock them all together. In older versions like 2010 there was partial support, but not nearly so good as the latest version :)
Q: What's the difference between C++ Builder and RAD Studio?
A: C++ Builder is part of RAD Studio (Delphi, C++ Builder, and HTML5 Builder)
Q: How can we implement an application like google drive, facebook, whatsApp (meaning a central database with GUI in a different platform like web, android, desktop etc.)?
A: TMS Software CloudPack does all this
Q: How do I know if I'm using VCL or FM? How to choose FM
A: VCL is Windows-only. FMX is Win plus other platforms. I'd choose FMX if you want a cross-platform app, or want great UI effects etc (it's GPU-powered, lots of effects, we will cover some of this tomorrow)
Q: I cannot find the development book on the docwiki. Can you show the link again?
Q: Why are the compilers going from cities to character names? Like Godzilla ?
A: We have codenames until close to release, when the public name is a city name.
Q: Do I lose any components if I choose fmx over vcl
A: There are some components that are unique to VCL and others that are unique to FMX, but the majority is mostly the same.
Q: II there a converter or something like that that I can import my old c++Builder 6 Projects?
A: You can open your old project in the current version. The only thing you need to take care is about third party components that you are eventually using.
Q: Does C++ builder ship with all the framework source code, in the same way that Delphi has always shipped with the VCL source code?
A: Starter does not, but the Pro and other editions do
Q: You keep mentioning VCL - what is this?
A: VCL is our Windows UI framework; FMX is cross-platform UI (Win + others). Most other libraries / frameworks work with both, on all platforms, those two are the UI frameworks
Q: Any plans for IOT devices?
A: GetIt includes a huge library of IoT devices. Professional+Mobile Add-on gives you access to mobile platforms and much more.
Q: How to code some OS specifics under FM? For example, I want my FM application to write/read windows registry?
A: You can use ifdefs for platform-specifics. We also have support for services in FMX so some fundamental behavior, eg mouse support say, can have different implementations per platform and you can replace those
Q: Can we do mix language development i.e. Delphi & C++
A: Yes, through RAD Studio which includes both
Q: Is the free/promo version time bombed?
A: Free Starter is not time bombed
Q: Hi I tried to install the C++ builder but I keep getting the error message -- incorrect email and password so I just wanted to verify before I begin anything
A: It should use your EDN account (edn.embarcadero.com) - have you verified it's the same email and password?
Q: Can I use XE8 with the boot camp?
A: Mostly. You won't have all of the new controls and the compilers are slightly older - should be mostly ok though. Cross-platform (Friday) it's best to always have the latest, we add support for new iOS etc versions
Q: how can I download the class for the day
A: Source code is at the bottom of David's blog post, http://community.embarcadero.com/blogs/entry/c-boot-camp-monday-august-8-2016-building-your-first-application-with-c-builder
Q: I have a purchased copy of XE5 Starter Edition. Will this free version give me any benefits over my purchased version?
A: New Clang Win32 compiler, new components, better styling, lots of FMX fixes, ... Even more by the time we get to mobile though that requires Pro+Mobile
Q: I have Delphi 10.1 Enterprise installed, will installing C++ Starter cause and problems or is it better to install in a separate VM?
A: A separate VM is better - they are both the "same" product (Berlin)
Q: Hi, is there a "dark theme" feature in starter rad studio?
A: Not yet, but we're strongly considering it. There are third-party free plugins that add one
Q: How do you get to the code for the button?
A: David double-clicked the button and it went to the default handler, the OnClick event. There is a list of all events in the Object Inspector window, Events tab, and you can double-click any to go to them there
Q: How do users update from Starter to Pro and others? Do I need to uninstall and re-install, or will an installer or updater do it for me?
A: Best is to uninstall and install Pro, because it adds a lot more
Q: Is there C++ builder for mac os? I couldn't download it
A: C++Builder runs on Windows, but Pro + Mobile let you build and deploy to Mac, iOS, Android
Q: Is it possible to use new compiler for old VCL code presently building with xe5
A: You need a newer IDE version to get IDE integration, debugger, etc. But the latest compiler definitely supports the VCL, so you can load your old projects easily in a new IDE version
Q: With c++ builder can you create Linux versions of the same code?
A: Soon - we have Linux Server support coming in the next version in a few months. (Server = no UI, command line or web service or database etc only)
Q: Does RAD Studio supports Retina Display?
A: On iOS? Yes, apps made with it can support retina, and you can package multiple versions of the bitmap resources
Q: Is recorded class available on the blog as well?
A: It will be - the blog will be updated with the Youtube replay
Q: I have a purchased copy of XE5 Starter Edition. Will this free version give me any benefits over my purchased version?
A: Also - this is based on 10.1 Berlin release - so there are new Windows 10 components for VCL and new FMX components - and of course a bunch of bug fixes - clang v3.3
Q: Do I need to uninstall my current XE5 Starter version in order to install the new free version or can I leave it in place. Also, will the free version run my XE5 projects without alterations?
A: You can install C++Builder Berlin Starter and XE5 both at the same time. The free version will run your existing code, if it's Win32 only, and doesn't use some Pro-only features (database, OSX, source code, etc etc)
Q: More people are NOT using Windows now, you should start porting to Mac OS X and Ubuntu...
A: We can build and deploy to OSX and to Linux soon - it's just the IDE that's Windows
Q: Does Berlin support all c++11 features
Q: Can I get the samples? I need the examples to see and modify it
A: Yes, you can download at the bottom of http://community.embarcadero.com/blogs/entry/c-boot-camp-monday-august-8-2016-building-your-first-application-with-c-builder
Q: Is application by Berlin is support 4K? And is Berlin support 4K?
A: Windows IDE and VCL components support 4k monitors
Q: Can I develop in Pro edition Client-Server application without FireDAC, by using another DB library. I mean is this legal by your license in Prof edition?
A: You can use local databases in Pro, client-server requires the FireDAC addon
Q: do you have these webinar videos on your website in future
A: We will, yes - bookmark our blogs page! http://community.embarcadero.com/blogs/
Q: Can we create web application like websites? and windows 10 store applications?
A: Win10 Store app - yes, in an upcoming update to Berlin. Web application - you would make the server side with C++, and the client side in HTML/JS
Q: Is there an API to write plugins for the IDE?
A: Yes, the ToolsAPI - http://docwiki.embarcadero.com/RADStudio/Berlin/en/Extending_the_IDE_Using_the_Tools_API
Q: Are you considering a free promo version of the Delphi starter edition too?
A: Maybe. Stay tuned ;)
Q: Does it support right to left windows and components?
A: In Windows (VCL), yes. In FMX (x-plat), only using native controls
Q: where is the splitviewforem?
A: In a VCL application, it's in the tool palette, search for TSplitView
Q: So if I want to use FMX for android , I can
A: FMX support Windows, Mac, iOS, and Android. We have some native controls for Win and iOS, and Android is on the roadmap
Q: Just to clarify, If I attended the earlier webinar, I need not attend the second one right?
A: Yes, each day has two sessions, and both are the same - the one session is repeated later in the day for other time zones
Q: Can the starter version be used for open source projects and upload source code on the internet?
A: Yes, we only ask you upgrade to Pro if you make enough revenue with CB or in your company to buy Pro.
Q: is code completion work in c++ as in Delphi?
A: Yes, C++ has code completion, and we're actively working on making it even better too
Q: Does Berlin work with postgre in starter edition or its only for pro...?
A: You need Pro for local databases and the FireDAC addon for client/server
Q: does this do embedded development?
A: Not yet, though you can compile for Android+ARM natively for example so you can do a lot there
Q: is it possible to use previous versions on the same OS with berlin? berlin/Seattle or Berlin / XE6 ?
A: Yes, you can have multiple versions installed at the same time. I have 2010-Berlin all on one machine!
Q: Any plans for adding cpp builder support in CMake generators?
A: Yes, maybe! See our roadmap, we're investigating Cmake support. Email us with what you'd like to see! http://community.embarcadero.com/article/news/16418-product-roadmap-august-2016
Q: I currently use the Qt framework. Why should I consider moving to Embarcadero?
A: FMX is a very powerful UI framework - GPU-powered, great effects, etc, but also native controls! The multi-device designer makes making multiple UIs easy - design once, make a tweak per platform or per device, a bit like subclassing code. Then all our frameworks work across our platforms too, and they're very powerful ones, especially for things like database support
Q: Do you have any discount support for students for professional edition?
A: You can contact us and we can assist with academic licenses
Q: Will I be able to watch this webinar after the season ends?
A: Yes, we will have a replay available - keep an eye on the blog post http://community.embarcadero.com/blogs/entry/c-boot-camp-monday-august-8-2016-building-your-first-application-with-c-builder
Q: Does the pro version with the fireDAC addon has the ability to create data module forms with the database, queries, and dataset components?
A: Yes for local SQL databases. Enterprise for remote SQL db access
Q: Any databases in starter edition to use?
A: No databases in Starter, sorry
Q: Simple question, how can I compile the code (Without running the application) could not find the menu option
A: Project menu, Build / Make / Clean or right-click on the project in the project manager
Q: are there any tutorials for basics with the IDE? Just like starting a new project for hello world and then for self-learning? For newbies to C++?
Q: If I pick-up controls from Pallette how to figure out mine code is still pure VCL or FM? I saw that bubble tip includes packagename.bpl and VCL FM embeddings?
A: It depends on the type of application you created - only FMX controls are shown for FMX. Many other components work with both UI frameworks
Q: Why is boost not installed by default?
A: You can install it through GetIt
Q: Is there a vi or emacs plugin for the editor in the IDE?
A: We have an Emacs key mapping you can use, though it's not a full emacs emulator :)
Q: Why don't you create a cipher unit for cryptography something like "System.Cipher.hpp" that have RSA, and other encryption and decryption algorithms?
A: There are great third-party (and even free) cryptography libraries you can use with C++Builder
Q: David I's Blog for Today has link for C++ Parallel Programming Library and it is broken. Can this be fixed?
Q: Is there an updated memory manager in Berlin? We had some issues with multithreading on XE7 in a Windows Server application
A: We're still using FastMM, but FastMM has had work done on it since that time, and you can always grab the latest (it's open source) and use it with your app
Q: do you support android wear and apple watch development?
A: Berlin does support Android round and square form designers in the IDE and compile for the android wear devices.
Q: Do you support IoT development, eg Edison, Pi etc?
A: Absolutely, yes - lots of IoT components for a wide variety of devices
Q: I'm using C++Builder since years. There are some VCL projects worth to transfer to other platforms. Is there a conversion tool?
Q: I do not like using VC++ and .NET but I am sometimes forced to because some software is delivered with .NET support and I'd like to use them in Builder C++ e.g. Advantech devices for industrial processes. Is there any documentation to wrap .NET with Bilder C++ ?
A: You can access some .Net code as DLLs or through COM, or there are third party .Net to native wrappers like Hydra (converts to Delphi, I think it also works with C++Builder)
Q: How do we support different UI guidelines for mobile?Are there different UI for android and iOS or it just directly converts UI components to native
A: Using the multi-device designer you can tweak based on the platform or device. You can change some controls to use native or custom rendering, to choose
Please login first in order for you to submit comments
- Page :