Friday, November 21, 2014

Delphi Blogs of the Week #22

A week with Delphi, from comets to 4K monitors, passing through an update and some expiring offers.

A week with Delphi, from comets to 4K monitors, passing through an update and some expiring offers. A nicely dis-organized list:

I told you this was really a bit random, but all links are relevant. Finally, even if not strictly Delphi, Embarcadero is about to launch a new version of InterBase. Live and online previews early December. Read all at delphiaball.co.uk/2014/11/12/interbase-xe7-first-look-events/. This is the last blog post of this week, and quite a relevant one. From comets to InterBase, nice week.

PS. I spoke at BE-Delphi yesterday, nice event as usual -- see my twitter account for images and information -- and I'll be at SDC in Papendal (Netherlands) on December 1st and 2nd.

 





Friday, November 14, 2014

XE7 Update 1 is Available

The Update 1 for RAD Studio XE7, Delphi XE, and C++Builder XE7 is available to download for registered users (and trial users as well).

The Update 1 for RAD Studio XE7, Delphi XE, and C++Builder XE7 is available to download for registered users (and trial users as well). The update has been available since yesterday, but this morning CodeCentral was having some hiccups, so I waited before posting this.

Update Links

  • Download and installation instructions are available in the Release notes in the docwiki at docwiki.embarcadero.com/RADStudio/XE7/en/Release_Notes_for_XE7_Update_1
  • There is an ISO for registered and non-registered users, and different web installers for RAD and individual products, and the trial versions. Best is to download from the specific product registered users download pages following the links in the release notes above (that is, if you have a RAD Studio license, you cannot get the installer from the Delphi product page).
  • The list of fixed issue that were logged by customers (on QC or the new quality portal) is on EDN at edn.embarcadero.com/article/44156. This is NOT the complete list of bugs fixed, as there are many issues our internal QA found and were also fixed in the update.

Why is the Update a Re-Install?

Given this is a common question, let me explain a couple of issues. Ultimately this is our current process, and we are looking for improvements, but there are reasons it is like this, and it might not change despite our efforts.

The most important element is that even if this is a uninstall/reinstall you can preserve all of your IDE settings and installed third party component. If you let the installer uninstall for you, that is done automAtically. If you manually uninstall first, there is a check box in the uninstaller to keep your registry settings. This is very important and makes a big difference.

Now the reasons. First is that patching under MSI (Microsoft Installer) is extremely time consuming. A patch of this size takes much more time than a full install (we have tried internally!). Some users reported a half hour process after the download. Not ideal but not too bad. Second, most large applications (and even small ones) regularly ask to reinstall for every minor release, patch or security update. Examples: Skype, OpenOffice, any Mac application from the store, any mobile application, Windows 8.1 (from Windows 8), most open source projects, Java runtime and most other runtimes. So RAD is not really as much of an exception. Now I  know this doesn't make things easier, and we'll keep investigating for ways to simplify the update process. Including moving to "native install" and using a different installer engine.

 

Thursday, November 13, 2014

My Delphi CodeRage Session Replays

Replays for the CodeRage sessions are available. Here are mine from the Object Pascal / Delphi track, along with further information and source code links when applicable.

Replays for the CodeRage sessions are available on YouTube. Here are mine from the Object Pascal / Delphi track, along with further information and source code links when applicable.

Delphi Keynote

This is the video for the CoreRage 9 Delphi / Object Pascal opening keynote, which offers an overview of the status of the product. There is no source code for this session.

 

What's New in the Object Pascal Language

This session focuses on recent features of the Object Pascal language, offering a roundup of dynamic arrays enhancements, record helpers for intrinsic types, and ARC, but also going back to generics, anonymous methods, and attributes. The source code can be browses online (or downloaded via subversion) at:

(Browsing) code.marcocantu.com/trac/marcocantu_delphi_sessions_demos/browser/coderage9/ObjectPascalLanguage

(SVN via HTTP) code.marcocantu.com/svn_public/marcocantu_delphi_sessions_demos/coderage9/ObjectPascalLanguage/

Here is the video:

 

Modernizing Object Pascal VCL Applications

This session focuses on bringing new life to VCL applications by embracing features added or enhanced over the last few years, from styles to task bar buttons support, from Direct2D to controls updates, touching on REST client library and parallel library... and a few more topics.

(Browsing) code.marcocantu.com/trac/marcocantu_delphi_sessions_demos/browser/coderage9/VCLMigration

(SVN via HTTP) code.marcocantu.com/svn_public/marcocantu_delphi_sessions_demos/coderage9/VCLMigration/

Here is the video:

 

Enterprise Mobility Services: Working with SQL Databases using Object Pascal

The focus of this session is the FireDAC database access in the new EMS architecture. In this case there is only one demo (as the other ships with the product), available for browsing at code.marcocantu.com/trac/marcocantu_delphi_sessions_demos/browser/EMS/EmsData1. The video is below:

 

The Life of an Object Pascal Public Store App

Finally, this is s presentation offering my personal experience in building and publishing a public store app written in Delphi, and you can find the actual app at play.google.com/store/apps/details

The video is below:

 

More from Fellow Speakers

Of course, there are many more sessions from other great internal speakers (including R&D sessions) and external speakers (including MVPs and Partners). The complete Object pascal track collection is a YouTube playlist. It was a great CodeRage, hope you can further enjoy the great content by looking to the session replays.

 

Monday, November 10, 2014

Delphi Blogs of the Week #21

Here is another long list of Delphi related news and blog posts, just because it's been more than 2 weeks since the last roundup.

Here is another long list of Delphi related news and blog posts, just because it's been more than 2 weeks since the last roundup.

Delphi Offers and Embarcadero Information

Technical Blog Posts

Third Party Components

Delphi Books

 That's all for this list of blog links. Now back to VCL blog posts and more.





Wednesday, October 29, 2014

RAD Studio Quality Portal

There is a new public bug reporting portal for Delphi and C++Builder that we encourage you to use instead of the old Quality Central.

There is a new public bug reporting portal for Delphi and C++Builder that we encourage you to use instead of the old Quality Central, also known as QC.

Quality Portal

The new Quality portal is open for bug reports from the RAD Studio developers community, and it is the preferred way to report issues from now on. The advantage of the new system (based on Atlassian Jira) is the better integration with the internal system (based on the same architecture). This should make the flow or errors, responses and request significantly smoother for both our quality assurance team and internal developers and for our customers reporting issues.

The new portal is at:

quality.embarcadero.com

You can use the same EDN login of other systems, and after login you'll see that there are (currently) two projects, including RSP (Rad Studio Project), which is what you want to select:

Update: To see the RAD Studio Project you need to be a registered user of RAD, Delphi or C++Builder. If you use an EDN  account with no product associated, you won't see the project listed and won't be able to access the bug reports.

As you open the project you can navigate through bug by version and area, and also report new issues you've found. This is a list of recently opened (and voted) issues:

Quality Portal Q&A

Here are a few answers to questions. If there are more, feel free to ask them and we'll edit the list.

Q: Is the new quality portal replacing QC?

Yes, but QC will remain open for business. We prefer reports on the new system, but the other is still active. In the long term, QC will be retired or put in read only mode to let you check the status of older reports.

Q: What about existing reports?

All reports, whether they come from QC or the Quality Portal end up in the same internal bug tracking system. Even when we’ll retire QC, nothing will get lost. It is possible, like it happens today for older bugs, that at one point we won’t be able to provide status feedback for very old entries.

Can I set a priority for my bugs?

This feature is currently not available, we are considering adding it back.

How comes there are few categories?

We are also considering adding more categories, although probably not as detailed as in the past, because it was often the case that a user would associate a wrong category (something we fully understand given the complexity and cannot really complain for). A simpler structure makes sure the bug get to the right person, in charge of validating the issue and refining the category or directly assign it to the appropriate team or developer.

Can I enter a feature request?

The current system accounts for bugs only, although there is often a fine line between the two. If we consider your report a feature request, we’ll just treat it as such internally. For pure feature requests, we currently don't have an internal system. An external one we are monitoring it delphi.uservoice.com.

Do you use the same process for validating bugs?

No, the process used now is different from the one in QA. There is no sysop validation, but the bugs go directly to QA, and from QA (if deemed) to R&D. QA can ask for clarification and comments. Other users can also add comments and we at Embarcadero can comment either on the internal system or on the public one, depending on the actual information provided.

Are the two systems kept aligned?

Yes, our internal system and the public one have deep integration. Any comment to the portal will immediately get to the internal system and the information flow should be much smoother than in the past.

Can I suggest new features?

Absolutely, while we finish tuning the new bug reporting process, input in very much welcome. 

Thursday, October 23, 2014

My New Object Pascal Handbook

I'm working on a new book covering Delphi's Object Pascal language from the ground up to the most advanced features. And you can get a draft today as part of an Embarcadero promotion.

I'm working on a new book covering Delphi's Object Pascal language from the ground up to the most advanced features.

Getting the Ebook

You can get a draft of the ebook (in PDF format) today as part of an Embarcadero promotion:  It is free if you buy Delphi XE7 in the next month (taking advantage of the "upgrade for all"  promo) , or if you are a registered user:

Promo: www.embarcadero.com/radoffer

Ebook: cc.embarcadero.com/item/30018

Book Information

Some information about the book (including the list of final chapters -- currently 70% is available) is in a specific page of my old web site:

www.marcocantu.com/objectpascalhandbook/

For feedback and information I created two community pages:

Facebook: www.facebook.com/objectpascalhandbook

Google+: bit.ly/objectpascalgplus

And the code repository (still not complete) is at:

code.marcocantu.com/trac/marcocantu_objectpascalhandbook

A Book on Object Pascal

Enough links. What's the scope and the goals of the book. Let me copy some of the introduction text over:

" Power and simplicity, expressiveness and readability, great for learning and for professional development alike, these are some of the traits of today's Object Pascal, a language with a long history, a lively present, and a brilliant future ahead.

Object Pascal is a multi-facet language. It combines the power of object-oriented programming,  advanced support for generic programming and dynamic constructs like attributes, but without removing support for more traditional style of procedural programming. A tool for all trades, with compilers and development tools embracing the mobile era. A language ready for the future, but with solid roots in the past.

What is the Object Pascal language for? From writing desktop apps to client-server applications, from massive web server modules to middleware, from office automation to apps for the latest phones and tablets, from industrial automated systems to Internet virtual phone networks... this is not what the language could be used for, but what it is currently used for today, in the real world.

The core of the Object Pascal language as we use today comes from its definition in 1995, a terrific year for programming languages, given that this was the year Java and JavaScript were also invented. While the root of the language dates back to its Pascal ancestor, its evolution didn't stop in 1995, with core enhancements continuing as of today, with the desktop and mobile compilers build by Embarcadero Technologies and found in Appmethod, Delphi, and RAD Studio."

The Book's Approach to the Language

"Given the changing role of the language, its extension over the years, and the fact it is now attracting new developers, I felt it important to write a book that offers complete coverage of the Object Pascal language as it is today . The goal is to offer a language manual for new developers, for developers coming from other similar languages, but also for old timers of different Pascal dialects that want to learn more about recent language changes. 

Newcomers certainly need some of the foundations, but given changes have been pervasive even old-timers will find something new in the initial chapters.

Beside a short Appendix covering the short history of the Object Pascal language, this book was written to cover the language as it is today. A large part of the core features of the language hasn't changed significantly since the early versions of the Delphi, the first implementation of modern Object Pascal in 1995.

As I'll hint throughout the book, the language has been far from stagnant during all of these years, it has been evolving at quite a fast pace. In other books I wrote in the past, I followed a more chronological approach, covering classic Pascal first, and following extensions more or less as they appeared over time. In this book, however, the idea is to use a more logical approach, progressing through the topics and covering how the language works today, and how to best use it, rather than how it evolved over time. As an example, native data types dating back to the original Pascal language have method-like capabilities (thanks to intrinsic type helpers) introduced recently. So in Chapter 2 I'll introduce how to use this feature, although it won't be until much later than you'll figure out how to make such custom type extensions.

In other words, this book covers the Object Pascal language how it is today, teaching it from the ground up, with only a very limited historical perspective. Even if you have used the language in the past, you might want to skim thought the entire text looking for newer features, and not focus only on the final chapters."

Going Forward

So what's next? I plan finishing the book before the end of the year, and Embarcadero will likely make updates available to active customers. After I get some feedback from readers, and finish cleaning up the text and the demos, I'll publish a printed version of the book. That's expected next year. Needless to say feedback is welcome, using one of the pages mentioned above or eve direct email.

Happy reading. That's my 16th Delphi-related book, hope it is useful as most of the previous ones.

 

Tuesday, October 21, 2014

Speaking at ITDevCon 2014

Next Thursday, October 23rd, I'll be giving a Delphi XE7 keynote at ITDevCon in Milan, Italy.

Next Thursday, October 23rd, I'll be giving a Delphi XE7 keynote at ITDevCon in Milan, Italy. This is one of the Delphi conferences closest to home, given it moved from Verona (where it was help over the last few years -- Delphi Day in Piacenza still beats it, though).

Anyway, I'll be giving a keynote at this conference, that has a high quality group of speakers under the lead of Daniele Teti, including Jeroen Pluimers, Paolo Rossi, Boian Mitov, Stefan Glienke, André Mussche, and quite a few others). ITDevCon is generally quite a nice and technically in-depth conferences, we'll see how the new location will work this year.

For any information, last minute sign ups, or any other detail, head to  http://www.itdevcon.it/en  or the Italian counterpart. BTW, sessions will be both in English and Italian.

 





Monday, October 20, 2014

CodeRage 9 Coming Next Week

Next week Embarcadero technology will host the its 9th free, online developers conference, with parallel tracks covering Delphi XE7 and C++Builder XE7.

Next week Embarcadero technology will host the its 9th CodeRage, a free online developers conference, with parallel tracks covering Delphi XE7 and C++Builder XE7. The CodeRage conference is known for its great content, long hours of sessions, live Q&A with speakers from around the world. Topics cover new products features but also core technologies and foundations, with many MVPs and luminaries presenting along side Embarcadero evangelists, sales consultants, product managers, and members of the RAD Studio R&D team.

All of the sessions times and details are available at www.embarcadero.com/coderage along with the (free) sign up form. Register today, so you won't forget the dates, which are  Tuesday to Thursday  next week (October 28th to 30th). There are over 80 technical sessions not to be missed on a wide variety of topics. My suggestion: reserver the time, join the sessions live, and join the conversation with the speakers and thousands of other fellow developers.

I'll be giving quite a few sessions for CodeRage 9, in both tracks, which reminds me I'll have a busy week preparing them all! Here are my currently planned sessions:

Object Pascal Sessions:

  • Object Pascal Opening Keynote
  • Modernizing VCL Applications
  • What's New in the Object Pascal Language
  • Enterprise Mobility Services: Working with SQL Databases
  • The Life of an Object Pascal Public Store App

C++ Sessions:

  • Modernizing VCL Applications
  • The Life of a Public Store App
  • Enterprise Mobility Services: Working with SQL Databases

Stay tuned for next week, it will be really fun.

 

Delphi XE7 Blogs of the Week #20

Another bi-weekly round of updates, regarding Delphi, applications, third party, and more.

Another bi-weekly round of updates, regarding Delphi, applications, third party, and more.

XE7 Updates and HotFixes

More XE7 Information

General Delphi Information and New Delphi Apps

And More Embarcadero News

 

Friday, October 17, 2014

2014 Conference in Brazil

Yesterday in Sao Paulo myself and Jim McKeeth gave session at the largest Delphi event of the year, a great gathering of passionate developers.

Yesterday in Sao Paulo myself and Jim McKeeth gave session at the largest Delphi event of the year, a great gathering of passionate developers. With over 600 Delphi developers attending this was really a big event, with a perfect organization, and many great speakers, mostly local Delphi MVPs who really know and care about the product. I got "millions" of picture on Facebook and Twitter, but here there are a few more.

Before that, just let me say I had a great reception, my keynote pushed the idea Delphi is alive and kicking around Windows development, single-source multi-device mobile development, and support for the Internet of Things. In two words, "Delphi Everywhere". Enough said. Here are some more pictures taken by Fernando and myself, plus a couple I grabbed form social media. More pictures on twitter.com/marcocantu and www.facebook.com/marcocantu.