2016-11-24T14:17:05.864ZWith Delphi (and C++Builder) Berlin Update 2, you have the ability to create and deploy on the local machine an Appx package, leveraging the Microsoft Desktop Bridge (aka Centennial Bridge). This blog post and the related video show all of the steps in details. With Delphi (and C++Builder) Berlin Update 2, you have the ability to create and deploy on the local machine an Appx package, leveraging the Microsoft Desktop Bridge (aka Centennial Bridge). The IDE also support deployment for Windows Store, using slightly different steps. However some of the steps are far from obvious, particularly including generating and registering a self-signed certificate. This blog post highlights some of the steps need, and the related video (extracted from one of my CodeRage sessions) show all of the steps in details, going from a vanilla version of Update 2 to the APPX deployment. Detailed Content The video covers: - Configuring the Windows SDK in the IDE to enable the execution of the required SDK utilities - Creating a self-signed certificate from the IDE - Creating a project and build it for store deployment, configuring the provisioning page - Looking into the list of deployed file and in particular into the Appx manifest file - Installing the self-signed certificate among the trusted certificates on the local machine (for this step, there is a detailed description below) - Installing the Appx package on a machine, uninstalling it, looking at the file system location where it is stored and the versioning model The Video The video in itself is slightly over 10 minutes, and you can see it on YouTube at https://youtu.be/_GNPT9Cvyag. width="560" height="315" src="https://www.youtube.com/embed/_GNPT9Cvyag" frameborder="0"> Further Instructions for Certificate Registration To import the certificate having the .pfx file generated by the RAD Studio IDE:In File Explorer, select the certificate file and use the Install PFX local menu item: In the Store Location group, select Local Machine Click Next and OK to confirm the UAC dialog Confirm the certificate file selection Enter your certificate password In the next screen of the Certificate Import Wizard, change the selected option to "Place all certificates in the following store" Click Browse. In the Select Certificate Store window, scroll down and select Trusted People and click OK Click Next. A "Completing... " screen appears Click Finish As an alternative, you can import the certificate from the Appx package (like a customer would) and in this case the password won't be requested: In File Explorer, right click an Appx that you've signed with the certificate (most likely the Appx package you want to install) and choose Properties from the context menu. Click the Digital Signatures tab Click on the certificate and choose Details Click on View Certificate Click Install Certificate In the Store Location group, select Local Machine Click Next and OK to confirm the UAC dialog In the next screen of the Certificate Import Wizard, change the selected option to "Place all certificates in the following store" Click Browse. In the Select Certificate Store window, scroll down and select Trusted People and click OK Click Next. A "Completing... " screen appears Click Finish (agreeing to the following confirmation dialog if displayed) These are steps I borrowed from Microsoft, of course, but worth sharing, as they are critical to be able to do local debugging or your applications once deployed into an Appx package. Remember that file access rules and even WinRT API call rules are different for applications executed via an Appx package and the Windows Desktop Bridge, so you need to do adequate testing in this scenario. [...]
2016-11-18T09:54:58.914ZHere is some further information and links related with the recent Update 2 release of Delphi, C++Builder, and RAD Studio Berlin 10.1
Here is some further information and links related with the recent Update 2 release of Delphi, C++Builder, and RAD Studio Berlin 10.1.
- The official press release can be found at http://www.businesswire.com/news/home/20161115006033/en
- The specific page of the web site with update 2 info is (a bit hidden) at https://www.embarcadero.com/products/rad-studio/10-1-berlin-update-2
- The blog post by Stephen includes all release videos: see https://delphiaball.co.uk/2016/11/15/10-1-berlin-update-2-anniversary-edition-windows-store/
If you haven't updated to 10.1 Berlin and are not on Update Subscription, there is a special offer until the end of November to celebrate the release: 10% off Professional, 15% off Enterprise and 20% off Architect. Read about this and other active offers at https://www.embarcadero.com/radoffer
- Issue with winapifamily.h (for C++Builder) explained at https://community.embarcadero.com/article/articles-support/174-rad-studio/installation-registration/16436-issues-with-winapifamily-h-and-other-header-files-after-installing-c-builder-10
- Deferring of C++ Rename Refactoring covered at https://community.embarcadero.com/blogs/entry/deferring-c-rename-refactoring-from-10-1-berlin-update-2
- Startup problems and fixes by Daniele at http://www.danieleteti.it/delphi-10-1-berlin-update-2-startup-problems-and-fixes/
A nice tweet I saw. Well, we call it CodeInsight, but the fix around static arrays causing trouble was done and well received:
2016-11-15T09:05:11.581ZEmbarcadero released today the second update of RAD Studio, Delphi, and C++Builder 10.1 Berlin, with significant new features (mostly focused on Windows 10 Anniversary Update) and quality improvements.
Embarcadero released today the second update of RAD Studio, Delphi, and C++Builder 10.1 Berlin, with significant new features (mostly focused on Windows 10 Anniversary Update) and quality improvements.
The features were announced in last week webinar available as a replay at https://www.youtube.com/watch?v=TvUJXJDhF4E and include support for Windows Desktop Bridge deployment in the IDE, a new CalendarView control, new designers called QuickEdits, and much more. You can read a detailed description of these new features in the docwiki help page at http://docwiki.embarcadero.com/RADStudio/Berlin/en/Subscription_Update_2.
The update has also several quality improvements and bug fixes, including the most voted issue on Quality portal, the problems with CodeInsight and static arrays. Other notable fixes include dynamic arrays optimizations (following regressions in Berlin), DataSnap issues, several DBGrid regressions fixes, C++ compiler improvements, REST clients calls with compressed data on mobile, and many others. You can find the list of publicly reported bugs fixed in this update at http://edn.embarcadero.com/article/44726.
All customers with an active update subscription can download the new version of the product at one of the following links:
- The GetIt based Web installer can be found at http://cc.embarcadero.com/item/30648
- The ISO with the traditional installer is at http://cc.embarcadero.com/item/30652
Notice that if you want to preserve your registry setting in this uninstall/re-install cycle you should use the same installer technology of your most recent install. Before you ask, the GetIt based installer this time will ask you if you want to preserve your registry settings, and would make a copy and reapply them after the installation completed.
Hope you like the quality improvements and new features of Berlin Update 2. And stay tuned to CodeRage today and the coming two days.(image)
2016-11-11T11:23:42.084ZThe 11th edition of the online CodeRage conference is kicking off next Tuesday. As usual it features dozens of technical sessions by Embarcadero speakers, MVPs, and tech partners. Don't miss the most comprehensive online event of the year for Delphi and C++Builder developers.
(image) The 11th edition of the online CodeRage conference is kicking off next Tuesday. As usual it features dozens of technical sessions by Embarcadero speakers, MVPs, and tech partners. Don't miss the most comprehensive online event of the year for Delphi and C++Builder developers.
Titled Productivity, Platforms and Performance, CodeRage XI is going to be informative but also a lot of fun. While you'll be able to view the session replays later, only attending them live give you the opportunity of asking questions and of interacting with other attendees.
The conference program, from Tuesday to Thursday, is kept up to date on the Embarcadero community at:
The conference offers sessions at different levels and for different audiences, covering most of the technologies in RAD Studio, and has specific parallel tracks for Delphi and C++Builder.
I'll be giving the Delphi keynote on Tuesday, after the conference kickoff -- at 7AM PST or 4PM Europe, and a session on Windows 10 and the Desktop Bridge on Thursday (which is a day reserved for customers on update subscription) -- again at 7AM PST or 4PM Europe. And I'll try to be online as much as I can during the conference, to help answering questions. I'll probably also blog quite a bit. Stay tuned.(image)
2016-11-04T13:57:24.990ZUsing the Windows Desktop Bridge, I've been able to publish a Delphi-based UWP application on the Windows Store, for Windows 10 Anniversary Update desktop user.
Using the Windows Desktop Bridge (aka Project Centennial), I've been able to publish a Delphi-based UWP application on the Windows Store, for Windows 10 Anniversary Update desktop user. This is great news as it proves in practice a long anticipated opportunity Microsoft is giving to developers with Win32/Win64 code bases. The desktop bridge, in fact, allows developers to take existing applications based on the Windows API and package them as UWP applications (or appx packages) to be distributed directly to Windows users or to be distributed (and sold) via the Microsoft store.
The specific app in question is a Win64 FireMonkey app, the Windows version of my (and my son) My Minifigures app that is fairly popular on Android (with over a quarter million downloads). The Windows version hasn't been clean up and optimized much, so it feels a bit odd -- hope to have time in the next few days to make it work better on Windows.
You can find the app here: https://www.microsoft.com/en-us/store/p/my-minifigures/9nblggh42ct8
The point I want to make, of course, is not about the app itself but the fact that this is becoming a very interesting way to distribute applications built with RAD Studio. I showed the install process in the Berlin Update 2 Webinar we did yesterday (replays will become available) and we also explained in that same webinar how RAD Studio will make it extremely simple to create appx packages with IDE integrated support -- in a very similar way of creating mobile and macOS packages with the IDE. This is going to be another first, as (for what I know) Visual Studio still lacks integrated IDE support for the Windows Desktop Bridge.
As soon as we'll release Update 2 I'll follow up with a lot more technical details. If you want to get started, though, there are two steps you should do. The first is submit you Desktop Bridge app request to Microsoft at https://developer.microsoft.com/en-us/windows/projects/campaigns/desktop-bridge. The second is to actually register yourself as an app developer with Microsoft, at https://developer.microsoft.com/en-us/store/register. There is a one time only fee of 19 USD/EUR or 99 USD/EUR for individuals or companies.
I'll follow up soon with the steps needed for store deployment, compared to what it is needed to create an appx package for direct use, something I already covered in this blog a few months ago.(image)
2016-11-02T10:44:44.977ZTomorrow the RAD Studio PM Team (Nick, Myself, Sarina and David) is hosting a webinar introducing the new features in Update 2 for Delphi and C++Builder.
Tomorrow the RAD Studio PM Team (Nick, Myself, Sarina and David) is hosting a webinar introducing the new features in Update 2 for Delphi and C++Builder.
You might be surprised to learn that this update has bug fixes, but also significant new features. In fact, it is the first update ever to have feature work, as part of the new model based on update subscription and longer release cycles. This is the reason we are giving to this update an actual name "Anniversary Edition".
From the invite: "RAD Studio Berlin Update 2 Anniversary Edition brings you major productivity enhancements around the Windows 10 Anniversary Update and the Windows Store, new VCL controls, IDE component editors and C++ refactoring."
Sign up for the webinar, held twice during the day, at: https://attendee.gotowebinar.com/register/1076354091907408898
2016-10-31T17:24:37.599ZNext Monday I'll speak at the 20th edition of EKON, one of the best and probably the longest running Delphi conference, to be held in Dusseldorf, Germany
(image) Next Monday I'll speak at the 20th edition of EKON. This started at a multi-language, multi-tool conference but has recently been mostly focused on Delphi, although it does cover other technologies for developers. This year conference is the 20th and this is likely the longest running Delphi event, and one of the largest ones in Europe. I've spoken to many of them, probably well over a dozen.
This year conference is being held in Dusseldorf, November 7th to 9th, and you can find more information at https://entwickler-konferenz.de/. There are sessions and tracks in German and in English, and the conference generally has an international audience. The list of speakers is fairly significant, with many from Germany but a few international ones, starting with Ray Konopka.
I'm going to give a keynote on the status of Delphi, present a session introducing RAD Server / EMS form a technical perspective, and delve into Centennial support. Of course, I'll be around both conference days, for any question and follow up.
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)