2016-10-18T09:51:10.940ZHere is another of my periodic blog posts with news and links from the Delphi and RAD Studio worlds.
Here is another of my periodic blog posts with news and links from the Delphi and RAD Studio worlds.\
Embarcadero Conference in Brazil on October 26th: For information see http://www.embarcaderoconference.com.br/#inscricao
CodeRage 11 Online Conference Call for Papers: http://community.embarcadero.com/blogs/entry/coderage-xi-call-for-papers
I'll be speaking at EKON 20 in Germany (but that's a conference with an English track for all European attendees): http://entwickler-konferenz.de/. The speakers list and topics are pretty interesting.
InterBase ToGo Update for Android by Stephen at https://delphiaball.co.uk/2016/10/17/interbase-togo-android-update/
The actual hotfix (required to submit to Play Store) is at http://cc.embarcadero.com/item/30630
Jim's experiments with compile times in Delphi, using generics: http://community.embarcadero.com/blogs/entry/compile-time-and-generics
Accessing comma-separated files in Delphi by Holger at https://flixengineering.com/5-minute-snack-accessing-comma-separated-files-in-delphi
When Migrating to FireDAC, You Must Understand UpdateMode by Cary at http://caryjensen.blogspot.it/2016/10/when-migrating-to-firedac-you-must.html
Using Advantage? Enhance TAdsQuery to include Query Callback by Joachim at https://www.jd-engineering.de/enhance-tadsquery-to-include-query-callback/
Very interesting article on running Delphi applications on Linux using Wine at https://kriscode.blogspot.it/2016/10/there-was-time-when-borland-approached.html
Upgrading from Delphi or C++Builder Berlin Starter edition to higher editions by Sarina at http://community.embarcadero.com/article/articles-support/174-rad-studio/installation-registration/16430-upgrading-from-delphi-or-c-builder-berlin-starter-edition-to-higher-editions
Not a new blog post, but an interesting StackOverflow question to keep a link to, covering a "List of Delphi language features and version in which they were introduced/deprecated" at http://stackoverflow.com/questions/8460037/list-of-delphi-language-features-and-version-in-which-they-were-introduced-depre(image)
2016-10-05T11:59:32.556ZRAD Studio 10 Seattle introduced several new VCL UI controls that mimic the WinRT UI controls. Two more are coming in Update 2, a new calendar control and a matching calendar picker.
RAD Studio 10 Seattle introduced several new VCL UI controls that mimic the WinRT UI controls. Two more are coming in Update 2, a new calendar control and a matching calendar picker.
The first set of VCL controls specifically introduced to mimic the WinRT UI part of Windows 10 were ActivityIndicator, RelativePanel, SearchBox, SplitView, and ToggleSwitch. Notice that while these controls match the WinRT / Windows 10 UI, they are implemented in pure VCL code, so an application using them will equally run on Windows 7 and Windows 8. The controls are depicted in summary below.
Now in the coming Update 2 of Delphi and C++Builder 10.1 Berlin, Embarcadero is going to introduce two more such controls, which are two implementations of the same concept, a modern looking calendar control matching the WinRT UI specification. One is the plain calendar taking up some screen real estate, while the second is a picker or combo box type of control, with the date displayed and the calendar appearing in a popup on request.
As you can see below (at design time in the IDE) the calendar has multiple views, with a month view and a year view. ther eis also a decade view to select the year. Transitions among the views are animated and rather smooth. Overall, this is much modern looking than the good old VCL calendar, based on the WinXP UI model.
This will not be the only new feature coming in Update 2, stay tuned for more information and refer to the latest roadmap for an overview of what to expect in coming months.(image)
2016-10-12T13:50:58.940ZGiven I've updated the library for 10.1 Berlin for a personal project, and also added a few new features, I decided to make my Delphi Razor HTML scripting library public again.
Given I've updated the library for 10.1 Berlin for a personal project, and also added a few new features, I decided to make my Delphi Razor HTML scripting library public again.
DelphiRazor is a limited clone of ASP.NET Razor notation by Microsoft. In short, you can use spacial tags in your HTML files invoking server side processing for them, and get placeholders replaced by actual data from the server application (or a database, of course). With some logic, you can repeat HTML blocks (for each record in a dataset) of use conditional elements. In practice, there is a PageProducer type of component to hook individual pages to a WebBroker application, or you can sue the Engine component and automatically process an entire directory (or more complex folder structure).
The interesting element of this approach is you can easily embed this DelphiRazor tags into any modern HTML app. I recently worked on a Boostrap + JQuery site and adding dynamic database data to it ended up being as simple as using traditional web scripting languages. See this page I created for my wife activity with dynamic image filters and other nice JS tricks, with the data provided by DelphiRazor: http://www.beja.it/bags2016.html
The core library, a demo, some preliminary unit tests are now on:
I'm also cleaning up and updating the rather detailed documentation, and plan moving it to the GitHub project wiki format for easier collaboration (I've started it here: https://github.com/marcocantu/DelphiRazor/wiki). More than willing to get help (but notice that I licensed this also to Embarcadero, so contributions can possibly also end up in the product -- it is already in use internally).
Near terms plans are to finish doc migration and write tests along side, next re-enable some of the features like sessions and permissions with a general architecture, third re-connect it to DataSnap -- as in the original version -- but also to EMS / RAD Server. Could be also hook into other third party libraries, of course.(image)
2016-09-29T10:04:57.837ZWe have recently gone back to updating and cleaning the content of GetIt packages, updating them to the last version and creating package versions for Berlin as needed. Plus we updated third party tools.
We have recently gone back to updating and cleaning the content of GetIt packages, updating them to the last version and creating package versions for Berlin as needed. Plus we updated third party tools.
While the work isn't finished, I felt it is worth underlying the significant progress we have made. Now we have a person focus on GetIt content and we are really expecting to be timely in updating third party packages for new releases of RAD Studio and when there are updates in the actual libraries.
Of course we are also more than willing to extend the content of GetIt, and have also streamlined the rules to accept more contributions. We welcome open source libraries, trial or light versions of third party tools and libraries, add-on tools, and anything that can you might be interested to share with RAD Studio developers. Drop me an email to my marco.cantu@company address or Gmail, if you are interested.
The list of packages that have been updated includes the complete set of 14 TurboPack libraries, NexusDB Embedded, the trial versions of FirePower and InfoPower, and ICS. The last few pending packages are being updated this week. We also updated all IoT components for 10.1 Update 1 and added two additional IoT devices to the list.
2016-09-27T07:57:25.497ZIt has been long time since I wrote a summary blog post, so this is just a collection of highlights. I'll try to get back to a decent frequency. It has been long time since I wrote a summary blog post, so this is just a collection of highlights. I'll try to get back to a decent frequency. Official Embarcadero News As you probably know we released RAD Studio Berlin Update 1. Check this blog post if you missed it. Embarcadero is making our tools available to schools and universities. For free. Read the press release "Embarcadero Academic Program Offers Free Software Development Tools to Students" at http://www.businesswire.com/news/home/20160825005680/en/Embarcadero-Academic-Program-Offers-Free-Software-Development The company is also pushing on Windows 10 Anniversary Update support (with more features to come) but has announced that the Starter edition is remaining free. This is less powerful than the free edition for students, so it is more geared towards hobbyist and casual users, or anyone who wants to get started. Read the specific press release "Embarcadero Announces Support for Windows 10 Anniversary Update and Launches FREE Starter Edition" at http://www.businesswire.com/news/home/20160919006025/en Update 1 and Operating Systems My own tweet "My Nexus 5X running Android N with a notification from a Delphi app running on it" at https://twitter.com/marcocantu/status/775621077309489153 "Build apps for macOS Sierra and iOS 10 with RAD Studio Berlin Update 1" by Sarina at http://community.embarcadero.com/blogs/entry/build-apps-for-macos-sierra-and-ios-10-with-berlin-update-1 Technical Blog Posts New "Migration and Update Center" on the Embarcadero web site, for anyone with projects on old versions of Delphi and C++Builder, available at https://www.embarcadero.com/rad-in-action/migration-upgrade-center "18 Code Samples Highlighting New Features In RAD Studio Berlin" by Eli at http://community.embarcadero.com/blogs/entry/18-code-samples-highlighting-new-features-in-rad-studio-berlin. And also by the same author and Delphi MVP, "Three Ways To Easily Embed A Database With Your Android And IOS Apps" at http://community.embarcadero.com/blogs/entry/three-ways-to-easily-embed-a-database-with-your-android-and-ios-apps Holger got back to blogging about Delphi, see https://flixengineering.com/blog. Great move! There are several very nice and technical blogs posts... Interesting post by Warren, focused on cleaning your code from past bad habits, "Delphi Features I Avoid Using And Believe Need to be Gradually Eliminated from Codebases" at http://delphicodemonkey.blogspot.it/2016/09/delphi-features-i-avoid-using-and.html Rather old but worth highlighting, is Jim's Top Ten Reasons to be a Delphi Developer at http://delphi.org/2016/07/top-10-reasons-to-be-a-delphi-developer/ Roman on EncodeString at http://blog.kassebaum.eu/?p=476 Jordi on using REST to talk with a Raspberry Pi at http://thundaxsoftware.blogspot.it/2016/09/delphi-rest-client-that-talks-to-rest.html Documentation and Books Petar shares the Word document of his detailed and very well researched book on Delphi's Parallel programming Library at https://onedrive.live.com/view.aspx?resid=400D26E601B2ABA2!143753&ithint=file%2cdocx. Kudos for the initiative. Already 50 pages of technical content, and open to contributions. Did I mention Delphi Succinctly free ebook already? It was written by another Italian and another Marco: https://www.syncfusion.com/resources/techportal/details/ebooks/delphi. Good job. Third Party Tools Not really a Third Party tool, as it comes from Idera, but if you are using PowerShell you might be interested in this editor: https://www.idera.com/productssolutions/freetools/powershellplus/powershellregistrationform A great review of a great product, Nexus Quality Suite at http://delphicod[...]
2016-09-26T09:03:43.671ZYou can use the migration tool to move your settings from RAD Studio 10.1 Berlin to Update 1, if you are using the GetIt based installer As you can read in the comments of the blog post announcing Berlin 10.1 Update 1, if you are using the GetIt based installer, the registry settings are not preserved as you uninstall, unlike when you are using the traditional ISO-based installer. Beside manually backing up and restoring part of your registry configuration, a solution you can use is to leverage the Migration Tool application that comes with RAD Studio to move your settings from RAD Studio 10.1 Berlin to Update 1. All it does is, in fact, backup and restore part of your registry! Update: Caveat And Manual Export It looks like using the Migration Tools does not preserve components installation, although it seems it did for a few users. The safest way to retain your entire configuration seems to manualy export the registry section for RAD Studio and reimport it (overwriting the configuration generate after reinstalling). We fully understand this is not a good way to apply an update and are already at work for fixing this in the future. Here is a short visual guide to the process. 1. Before you install Update 1, find and run the Migration Tool app, that is linked in the Windows Start menu, in the Embarcadero RAD Studio 10.1 group. This is where I see it in Windows 10: 2. As you run the Migration Tool, pick the option for exporting your settings: 3. Now choose the product version you want to backup. It should list different versions of RAD Studio you have on the machine. For 10.1 Berlin you have to pick the entry with "XE10", as this was wrongly listed in the original version of the tool. 4. Choose an file as a target, it will be an XML file but better go with the default extension. In the next screen keep all options selected (for the various areas of the configuration) and proceed. 5. Now install Update 1, which will trigger an uninstall. After the installation is over, run the product once (as this creates the proper default registry settings). 6. Now close the RAD Studio IDE, run the Migration Tools again, and this time pick the option to import the settings. Select the same file you saved earlier: 7. Now select the version these settings are for. After installation of Update 1, the Migration Tools will correctly list "10.1 Berlin" as the version so you shoudl pick that: 8. Select again all options (unless there is anything you want to retain from the new configuration), run the tool, and it should re-apply all of your settings. 9. Run the IDE again, and you should see custom configurations, additional packages, and everything else you had in the product -- and that is registry-based. I hope this helps reducing the burden of installing this update, and again fully recommend making a copy of the registry entries before you start installing, either manually or even better with this tool. PS. As for why an update requires an re-installing, it would be the good topic for another blog post. In short a list of patched files will be huge (see as an example how we shipped 1 GB for a hot fix of 20 issues at http://cc.embarcadero.com/item/30476). Also making sure you get the right bits depending on your version, and that any file you modified won't be overridden, and considering if you installed a given hot fix already or not -- which changes the original size of the file to replace -- would make a fix extremely complex to handle and very likely to leave with a not working system. As a reminder, for those suggesting you can do it better with your software, the Studio/18.0 folder alone under Program Files includes over 50,000 files [...]
2016-09-26T08:59:01.602ZToday, Embarcadero has released the first update of RAD Studio, Delphi, and C++Builder 10.1 Berlin, with many quality enhancements and some new features.
Today, Embarcadero has released the first update of RAD Studio, Delphi, and C++Builder 10.1 Berlin, with many quality enhancements and some new features.
The new features include a version of the FireMonkey Grid control for iOS ,based on the native platform control, several other FMX enhancements, and support for iOS 10 (in particular the simulator) and improved compatibility for the coming macOS Sierra.
In terms of fixes, the C++ compiler has several improvements (almost 20), but also the Delphi one has a few issues (about 5) rounded up. All areas of the product have fixes and improvements, including an annoying DataSnap/REST issue, FireDAC, VCL, RTL, the IDE, the installer.... with over 100 public reported bugs fixes, and over 300 total (including internally reported issues).
Full description of the fixes to publicly reported bugs can be found at http://edn.embarcadero.com/article/44715
More information is also in the docWiki at http://docwiki.embarcadero.com/RADStudio/Berlin/en/Subscription_Update_1
If you are a registered user of 10.1 Berlin, you can download:
- the new GetIt based installer at http://cc.embarcadero.com/item/30613
- the ISO with the traditional installer at http://cc.embarcadero.com/item/30615
Before installing Update 1 you need to uninstall the RTM version of Berlin, even if the GetIt based installer doesn't prompt you to do so. You should be able to retain your configuration and installed third-party packages.
Update: As reported, GetIt based uninstall/install does nto preserve registry settings. Read about a workaround here: blog.marcocantu.com/blog/2016-september-migrationtool_update1.html
If you don't have a license to 10.1 Berlin, we have some great offers: mobile is free with Professional and there is an overall 10% "Update 1" special discount, plus you receive the free bonus pack with Konopka Controls, Radiant Shapes, and the PDF of my Object Pascal Handbook updated for 10.1 Berlin. More information on the offers, valid until September 30th, at https://www.embarcadero.com/radoffer(image)
2016-09-08T08:23:10.970ZOn Tuesday, I gave my webinar at the Delphi BootCamp, focused on the ObjectPascal language.
On Tuesday, I gave my webinar at the Delphi BootCamp, focused on the ObjectPascal language. The focus was not exclusively on new and advanced features, but more of a complete overview of the language from the basics, focusing on differences form other mainstream programming languages.
You can find my slides at DelphiBootCamp2016Marco.pdf
All of the demos I used (most of which come form my Object Pascal Handbook) are available on a specific GitHub repository at https://github.com/marcocantu/2016DelphiLanguageBootCamp
The video replay is available on YouTube at https://www.youtube.com/watch?v=CqlHeBPKu-0
More information also on the webinar page at http://community.embarcadero.com/blogs/entry/delphi-boot-camp-day-2
PS: Today marks the 11th consecutive year of this blog, as you can see in the Archive (http://blog.marcocantu.com/archives.html), for a total of 1356 blog posts, including this one.(image)
2016-09-02T10:16:06.184ZI published an article on this topic in the Embarcadero community and there is a Webinar scheduled for later this month.
I published an article on this topic in the Embarcadero community and there is a Webinar scheduled for later this month.
The article is titled "Windows 10 Anniversary Update and RAD Studio" and you can read it at http://community.embarcadero.com/article/news/16424-windows-10-anniversary-update-and-rad-studio. It givens an overall picture of Delphi support for the latest version of Windows and links to a previous blog post I wrote here about Centennial support.
On September 22nd and 23rd I'll give a webinar on the combined topics, overall Windows 10 support and working with Centennial. More information and sign up at http://embt.co/delphiwin10webinar.
More is coming in this area in RAD Studio itself, but there is already all you need in the product to support the Anniversary Update at best.
PS. Don't forget to spread the word about the Delphi Boot Camp next week and the free Starter edition. We are seeing tremendous signups and adoption, but there is always room for spreading Delphi even more during the time of this special offer.(image)
2016-08-29T08:27:52.076ZThe Linux operating system just turned 25 years old. What a better occasion to show a couple of images of the coming Linux support for Delphi?
The Linux operating system just turned 25 years old on August 25th. What a better occasion to show a couple of images of the coming Linux support for Delphi? The project code name is Godzilla.
Here is a snapshot of the coming "Godzilla" IDE with the Linux target platform selected (and a specific distribution configured):
If you run PAServer on the Linux machine, as I did in the virtual machine on the right of the image below, just clicking the Run button or pressing F9 will compile and run the application on the target Linux machine, like it happens for mobile (well, no, actually quite a bit faster):
That's all for this preview. If you haven't already done so, upgrade to Delphi 10.1 Berlin now, with update subscription, to be among the first to try the Linux compiler when the beta version will be made available.
PS: As you can see from the demo code and the output, the Linux compiler is a 64-bit compiler.(image)