Subscribe: marcocantu.blog
http://blog.marcocantu.com/blog_rss.xmldata
Added By: Feedage Forager Feedage Grade B rated
Language: English
Tags:
blogs entry  community embarcadero  delphi linux  delphi  embarcadero blogs  embarcadero  linux  new  rad studio  tokyo  windows 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: marcocantu.blog

marcocantu.blog



Techie Italian Blogging on Delphi and More



Updated: 2017-04-21T09:47:19.534Z

 



Delphi Relax Web Scripting on Linux

2017-04-21T09:47:19.534Z

I've finished porting my Delphi Relax web scripting library to RAD Studio 10.2, adding Linux support. I've also created a new small and focused Linux demo I plan expanding soon. I've finished porting my Delphi Relax web scripting library to RAD Studio 10.2, adding Linux support. I also added a new set of unit tests. The library is available at https://github.com/marcocantu/DelphiRazor/ and we are considering adding it to GetIt as well. In two weeks I'm going to host a webinar covering the library, covering different scenarios of modern web development. Stay tuned for that. In this blog post I want to focus on a 5 minutes demo showing Linux support. I'll probably expand the demo for the webinar. First of all, what is Delphi Razor? It is a web scripting notation heavily inspired by ASP.NET Razor notation. The Delphi tie in comes form the ability of the application to exposes objects, list of objects and datasets to the web page processing engine, by means of RTTI. To build a simple database-driven the demo, I've created a console-dames WebBroker application, I've dropped an FDMemTable and an FDStanStorageBinLink component to the web module. This will allow me to load data from a local file (local on the web server). Next I've dropped an RlxRazorProcessor component and associated it with a local HTML file, by setting the InputFilename property to "./table.html". I've also added a custom action to the web module, and added an event handler for it. You can see the design time components below: Next, I've create a fairly trivial HTML file for the data. Notice this can be any HTML, based on Bootstrap (like I've done for other Delphi Razor projects) and integrating any JavaScript client library. This one is really a bare bone HTML file: Employees     @foreach (var emp in employee) {   @emp.FirstName @emp.LastName (@emp.PhoneExt) } What this does is iterate over the element called "employee" (which happens to ba a database table) and replicate the HTML within the curly braces for each record, creating a line item for each entry with the value of three fields. The for loop defines a local loop variable "emp" that is used in the loop to refer to the record. Drop that segment of HTML with script into a nice looking HTML page and you are in business. The last bit is adding the code to load the database table and associate it with the name "employee" used in the script. Here is the complete code of the web action event handler: procedure TWebModule2.WebModule2WebActionItem1Action(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var filename: string; begin filename := './employee.fds'; if not FDMemTable1.Active then begin FDMemTable1.LoadFromFile(filename); FDMemTable1.Open; end; RlxRazorProcessor1.AddToDictionary('employee', FDMemTable1, False); Response.Content := RlxRazorProcessor1.Content; end; The binding of the internal data with the script happens by adding an entry in the processor dictionary. By copying its content to the output, the last line of the code will trigger the script processor. Now compile and deploy to Linux, start it (like in the image below): You'll be able to see the ugly HTML output in your browser: Stay tuned for more information about the Delphi Razor webinar.   [...]



Linux ClientDataSet libmidas.so Now Available

2017-04-19T08:05:17.378Z

The libmidas.so library required to use the ClientDataSet component on Linux is now available for download.

To use the ClientDataSet component on Linux Delphi applications you need to distribute the libmidas.so library, the Linux equivalent of midas.dll. We failed to deliver it as part of the 10.2 Tokyo release, and it has been made separately available at:

http://cc.embarcadero.com/item/30765

The additional file belongs to the redistributable list and you should also copy it to C:\Program Files (x86)\Embarcadero\Studio\19.0\binlinux64 -- ultimately it doesn't matter much.

You can add that file to the application deployment, so that it will be copy to the Linux box via PAServer, or just copy it manually to the Linux box. Of course, you need to do so only if you want to use the ClientDataSet component in a Linux application. While we recommend the FDMemTable component as a replacement, if you have existing code based on ClientDataSet you might want to use that older solution.

(image)



RAD Studio 2017 Themes and Developers Survey

2017-04-12T08:45:43.046Z

With 10.2 Tokyo shipping, we have renewed our focus to future plans. The RAD Studio PM team has published a summary of the themes for this and the next year, and opened our yearly developers survey to our customers asking input for our future plans and validation of some ideas we are exploring.

With 10.2 Tokyo shipping last month, we at Embarcadero have renewed our focus to future plans, while R&D is still busy with fixes, updates, and some additional Tokyo features (mostly C++ for Linux).

Themes for 2017/2018

The RAD Studio PM team (that is myself, Sarina, and David)  has published a summary of the themes for this and the next year. You can find the document at https://community.embarcadero.com/blogs/entry/updated-roadmap-coming-soon-annual-developer-survey. There isn't much to add to what's written there. The three key Delphi related items are:

  • Expanded native controls support for multi-device development
  • Enhanced Windows 10 platform features
  • Delphi Language Features

RAD Studio 2017 Developer Survey

We have also opened our yearly developers survey (available until April 25th) to our customers asking input for our future plans (for example asking for details on each of the 3 items above) and validation of some ideas we are exploring (in many existing and new areas). We know that a 97 questions survey can be intimidating (although a few questions are fairly easy and fast to answer) but this survey is the largest we do every year and we spend a lot of time examining the information our customers give us. The direct link is:

https://www.surveymonkey.com/r/2017RADStudioSurvey

So I'm asking you personally to take the survey , but also to invite others (active Delphi or C++Builder developers, but also developers who moved to other tools and could tell us what would make them consider coming back, or just why they are not using RAD Studio any more and what they don't like), and also software developers at large who have never used our tools extensively but are interest to tell us what they like in a developer tools. If you can help us reach more developers, it will help us shape the future of the product for a broader community.

Thanks for your help.

(image)



Windows 10 Creators Update and Delphi 10.2

2017-04-06T14:03:33.697Z

Today Microsoft shipped Windows 10 Creators Update. I installed it and also did some testing of the Bash shell. From the Delphi perspective, of course. Creators Update Developers Information Today Microsoft shipped Windows 10 Creators Update. You can read some of the key developers information in many places, including: https://docs.microsoft.com/en-us/windows/uwp/whats-new/windows-10-version-1703 https://blogs.windows.com/buildingapps/2017/04/05/windows-10-creators-update-creators-update-sdk-released https://blogs.windows.com/buildingapps/2017/03/31/desktop-bridge-creators-update/ The most relevant change for VCL developers is the fact that High-DPI support has further changes, something we are still assessing internally. There are some interesting new APIs like "Payment Request API". Also notice the additional options for Windows Desktop Bridge apps, ranging from resource explorer handlers to COM servers,  Installing Windows 10 Creators Update I upgraded my main Windows 10 PC to the new release and the installed it and the process was smooth. Notice that if you are not offered an update, you can still download an application to do it sooner. Very smooth process, but not slow. Delphi On Creators Update I had RAD Studio 10.2 already installed on the PC, so all I have to do it start it and build some VCL and FireMonkey applications. There is no significant difference, and everything worked fairly smoothly. Including UWP applications installed using the Windows Desktop Bridge. No surprise, also because I had already installed the RTM version and previously some beta versions of Tokyo on a VM with recent builds of Windows. And Delphi Linux in the Ubuntu / Bash Shell The last test I did was installing also the Ubuntu Bash shell part of Windows 10 (even if still in beta). This was fairly smooth. In fact I was chatting with Matthias, who also blogged about it earlier today (in German) at https://community.embarcadero.com/blogs/entry/bash-on-ubuntu-on-windows-1703-creators-update-und-delphi. Given the bash shell has access to your file system, you can easily compile an application in Delphi for Linux and run it on the bash shell right away. This is not a VM, it runs in the native computer. Below you can see an image related with the installation and one with a simple application in the IDE and running in bash on Windows: The missing element is PAServer (and the version of GDB it uses) still has issues running on the bash shell, something we are loooking forwrd to fix and support. Stay tuned. [...]



Deploying Files (and PAServer) to Linux via WinSCP

2017-04-06T07:42:43.643Z

I'm a longtime fan and user of WinSCP. It is great for direct deployment of files (including executable files build in Delphi) to Linux. But it also help deploying PAServer.

I'm a longtime fan and user of WinSCP (https://winscp.net/eng/index.php). This is a nice free utility to do SCP (Secure Copy via SSH) to Linux boxes, manage files, remotely, and even perform a variety of file system operations on remove Linux boxes. All from a nice and familiar Windows UI, with local folders and remote ones side by side. This is an example:

(image)

If you use this tool to deploy PAServer to your Linux box, you can also use it to un-compress and expand the tar.gz file, using a simple command in the popup menu of the remote file:

(image)

I've created a video showing these steps, but also the following operations need to connect the IDe to PAServer and import the Linux SDK. It is available on YouTube at https://www.youtube.com/watch?v=l-nnF5o3bhU or below:

width="560" height="315" src="https://www.youtube.com/embed/l-nnF5o3bhU" frameborder="0"> 

PS. Just FYI, WinSCP is mostly written in C++, and built with a familair tool (http://winscp.cvs.sourceforge.net/viewvc/winscp/winscp3/readme.txt?view=markup): "To build WinSCP you need: Embarcadero C++ Builder XE6 Professional"

(image)



New Warnings, Illegal Casts, and other Delphi compiler changes in 10.2 Tokyo

2017-04-04T10:50:50.202Z

While there is no significant new Delphi language feature -- but a brand new Delphi compiler for Linux -- the 10.2 version has a few changes worth mentioning. Also because they can be causing issues when compiling existing code that has borderline code.

The focus for the Delphi compiler R&D for the 10.2 Tokyo release was clearly the development of a new compiler for Linux. However, there were many bug fixes and several minor changes to the compilers for all platforms worth covering.

Command Line Compilers are Large Address-Aware

You can use the 4GB memory space for common line compilation, like it happens from the IDE since 10.1 Berlin. Notice that given the command line compiler has much less memory overhead (the IDE loads design time packages and libraries in its memory space), this gives the compilers even more room in memory.

New Warnings

There are new warnings in the compiler, mostly focused on helping find potential breakage when building applications for multiple platforms and different CPU types:

IMPLICIT_INTEGER_CAST_LOSS

W1071 Implicit integer cast with potential data loss from '' to ''



IMPLICIT_CONVERSION_LOSS

W1072 Implicit conversion may lose significant digits from '' to ''"



COMBINING_SIGNED_UNSIGNED64

W1073 Combining signed type and unsigned 64-bit type - treated as an unsigned type"

Only the last of these 3 is on by default. You can disable it with a directive like {$WARN COMBINING_SIGNED_UNSIGNED64 OFF}.

You can also turn each of the warnings in an error. For more information about this issue and a complete list of the warnings (and their ID, used for configuration) is available at http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Warning_messages_(Delphi)

Dynamic Arrays and Pointers

Assigning a dynamic array to a pointer is now considered an error, given this breaks reference counting on ARC platforms -- but can cause problems also on others. You can still do it (if you know what you are doing!) by using a hard cast.

Changes to Namespace Resolutions Rules

References do dotted unit names from uses statements have become a little more flexible. In the past, it had to be a direct match or reply on unit aliases declared in the project. Now the rule is a little more flexible. The compiler searches the non-prefixed name first, then iterate optionally specified namespaces. So, for example, "uses Classes" will first look for a unit called "Classes.pas", than go for "System.Classes.pas" and finally search in the FMX and VCL namespaces.

These new rules should be largely compatible with the old ones, as they should resolve more scenarios automatically, but specific projects with duplicated names and an odd use of aliases might end up behaving differently.

Allow Undefined to LLVM Linker

By default, the compiler asks the LLVM-based linker to resolved all external symbols (for DLLs and shared object files) passing the "--no-undefined" option to it. However you can use the "--allow-undefined" option to disable the standard behavior (and avoid indicating that linker option). This allows you linking when the symbols are not available at compile time. Occasionally this feature is handy on the Linux platform.

(image)



Konopka Controls, Radiant Shapes, TurboPack and more in GetIt for 10.2 Tokyo

2017-04-04T10:20:59.572Z

A significant number of the components and libraries distributed on GetIt are available for the newly released RAD Studio 10.2 Tokyo, including "bonus pack" items like Konopka Controls and Radiant Shapes.

A significant number of the components and libraries distributed on GetIt are available for the newly released RAD Studio 10.2 Tokyo, including "bonus pack" items like Konopka Controls and Radiant Shapes.

Konopka Controls and Radiant Shapes

The two add-on libraries are available and get be installed. While they still run a separate installer, this is not asking for an additional license key any more and installs the components only for 10.2 Tokyo. If you already have installed a different version on the same PC, make sure you are installing on a separate folder and don't override the previous installation.

(image)

TurboPack, Trials, and More

The TurboPack collection of controls has been updated for Berlin (see also the GitHub home page at https://github.com/TurboPack) and also some of the third-party vendors lite versions and trials (X-Files Software, InstallAware, ErroSoft, unSigned) and other free libraries like ICS and Redis Client. Here is the entire list extracted from the GetIt UI itself:

(image)

(image)

(image)

(image)

March 31st Update

Today we were able to add also Jedi's JCL and JVCL to GetIt, for both 10.2 Tokyo and 10.1 Berlin (were we had an issue in the past). These two of the most popular open source non-visual and visual component libraries for Delphi, and we have to thanks the entire "Jedi team" (http://www.delphi-jedi.org/) for helping us getting those ready and out so timely.

(image)

Delays in IoT

We have, instead, some delays in publishing the IoT components, BeconFence and a few additional items. Those will be made available shortly. Regarding other packages and libraries that were in Berlin, we are working with the developers and vendors to make them available for Tokyo, and also in the process of adding new ones.

Stay tuned.

(image)



Delphi 10.2 has been Released Today

2017-03-22T15:27:24.440Z

Today Embarcadero has released Delphi, C++Builder and RAD Studio 10.2, also known as Tokyo. The new version of the product includes our new Delphi 64-bit compiler for Linux.

(image)

Today Embarcadero has released Delphi, C++Builder and RAD Studio 10.2, also known as Tokyo.  The new version of the product includes our new Delphi 64-bit compiler for Linux, and much more.

Given a lot of the content of the release has already been discussed, I'm not going to add much, only a few links:

What's New in RAD Studio 10.2: https://www.embarcadero.com/products/rad-studio/whats-new-in-10-2-tokyo

Blog announcement: https://delphiaball.co.uk/2017/03/22/rad-studio-10-2-available-today-linux-delphi/

The DocWiki main page: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/What%27s_New

List of customer reported issues fixed (over 500): http://edn.embarcadero.com/article/44747

Delphi Linux Server support video: https://youtu.be/2wiD3F-nGZ8

​The Feature Matrix: https://www.embarcadero.com/docs/rad-studio-feature-matrix.pdf

Official launch webinar with PM next Monday: https://community.embarcadero.com/blogs/entry/launch-webinar-10-2-tokyo

I'll write again covering Delphi 10.2 in more details, for now let me say:

"Delphi for Linux is now available, Delphi is getting more traction, Delphi is back!"

 

(image)



Delphi Blogs of the Week/Month #51

2017-03-22T09:03:26.961Z

It has been quite some time from the last installment, and there is a lot to cover -- although I did blog about a summary of the coming Delphi for Linux related news separately. It has been quite some time from the last installment, and there is a lot to cover -- although I did blog about a summary of the coming Delphi for Linux related news separately. Embarcadero News The company has released a new version of InterBase, read more at https://delphiaball.co.uk/2017/03/09/interbase-2017-now-available/ Nick explains he is moving to a new role inside the company (and also covering his new book, see also below) at https://community.embarcadero.com/blogs/entry/flotsam-and-jetsam-118 Delphi DNA infographic at https://community.embarcadero.com/blogs/entry/delphi-s-dna-infographic Tokyo Beside Linux While the focus of the coming release is Delphi Linux support, there is more to it. Here are some anticipations: Previewing RAD Server Multi-Tenancy Support in 10.2 by Sarina at https://community.embarcadero.com/blogs/entry/previewing-rad-server-multi-tenancy-support-in-10-2 What's New in C++Builder 10.2: Part 1 - The Linker by David at https://community.embarcadero.com/blogs/entry/what-s-new-in-c-builder-10-2-part-1-the-linker Previewing FireMonkey Features in RAD Studio 10.2 by Sarina at https://community.embarcadero.com/blogs/entry/fmx-features-preview-10-2 ​RAD Studio 10.2 Tokyo & MariaDB by Fernando (in Portoguese) at https://community.embarcadero.com/blogs/entry/rad-studio-10-2-tokyo-mariadb-1 ​Delphi 10.2 Tokyo Beta Blogging: Editing data in TFDMemTable during design-time by Holger at https://flixengineering.com/archives/398 UI Changes in the IDE's View menu by David at https://community.embarcadero.com/blogs/entry/ui-changes-in-the-ide-s-the-view-menu Books Always great to have new Delphi books, even more if the author is Nick: https://plus.google.com/u/0/+NickHodges/posts/HW6Bbx3j7g7?cfem=1 More Technical Blog Posts Delphi/Object Pascal at #9 in Tiobe March 2017 index - Swift enters top 10 by DavidI at https://community.embarcadero.com/index.php?option=com_easyblog&view=entry&id=10531&Itemid=191. The actual Tiobe Index information is at https://www.tiobe.com/tiobe-index/ and there you can see Delphi/Object Pascal got one notch up to the 9th position. Even if I don't think this is a real representation of use of programing languages, relative growth -- within the sane index -- is certainly a positive sign. TListView OwnerDraw compat with Windows UI & VCL Styles by Rodrigo at https://theroadtodelphi.com/2017/03/09/tlistview-ownerdraw-compat-with-windows-ui-vcl-styles/ Generics, modules and typeinfo by Stefan at http://delphisorcery.blogspot.it/2017/02/generics-modules-and-typeinfo.html The Old Vic by Steffen at http://fixedbycode.blogspot.it/2017/03/the-old-vic.html Embed Facebook SDK for Android in your Delphi mobile app (Part 2) by Allen at https://blog.grijjy.com/2017/01/30/embed-facebook-sdk-for-android-in-your-delphi-mobile-app-part-2/ Quickly Auto Generate iOS, OSX, And Android Headers For Delphi And C++Builder by Eli at https://community.embarcadero.com/blogs/entry/quickly-auto-generate-ios-osx-and-android-headers-for-delphi-and-c-builder -- This is extremely important for calling more native APIs than we expose or use other native third party libraries on different platforms Perform Low Code Calculations Using LiveBindings In Delphi FireMonkey On Android And IOS by Eli at https://community.embarcadero.com/blogs/entry/perform-low-code-calculations-using-livebindings-in-delphi-firemonkey-on-android-and-ios Official quartic equation using Delphi Firemonkey by Haruyuki at https://community.embarcadero.co[...]



Delphi for Linux is Coming

2017-03-17T17:49:08.908Z

As you probably know, we are close to the release of a new version of Delphi that will include a Linux compiler and the related tooling and libraries. Here is a collection of specific links and information for you to get ready.

Does Linux Matter?

I'm personally going to switch my current server from Windows to Linux, and save quite some money in the process, but this is what other developers told us: https://community.embarcadero.com/blogs/entry/why-is-delphi-for-linux-important

Getting Ready

In case you want to get back to Linux and get ready, here are a few resources:

Free O'Reilly Linux Survival book: http://www.oreilly.com/programming/free/ten-steps-to-linux-survival.csp

Installing and configuring Ubuntu for Delphi development (by Pawel):

https://community.embarcadero.com/blogs/entry/installing-ubuntu-16-04-on-vmware-for-delphi-dev

https://community.embarcadero.com/blogs/entry/preparing-ubuntu-16-04-lts-for-linux-development-with-upcoming-delphi-10-2-part-2

Technical Details

I've done three blog posts with technical information about Delphi Linux compiler, RTL, database access, and web technologies:

http://blog.marcocantu.com/blog/2017-february-delphi-linux-compiler.html

http://blog.marcocantu.com/blog/2017-march-delphi-linux-rtl-units.html

http://blog.marcocantu.com/blog/2017-march-delphi-linux-database-web.html

More information can be found watching the Linux Boot Camp replay:

https://community.embarcadero.com/article/16483-delphi-for-linux-boot-camp-replay

A Great Video

And finally Jim created a great "Get ready" video, available on YouTube and below:

 

width="560" height="315" src="https://www.youtube.com/embed/gk0h7lFqAXo" frameborder="0"> 

 

(image)