All posts by Stephen Ball

Stephen is a Charted IT Professional and the Associate Product Manager for InterBase at Embarcadero. He is also a Product Evangelist for RAD Studio, regularly speaking across EMEA. @DelphiABall

Building Delphi Classes from JSON

JSON to Delphi Classes

I’m currently working on a new blog post showing how to integrate a popular REST API. One of my tasks is to convert JSON to Delphi Objects, so I need to define the Delphi class structures to work with so I can use the TJSON.JSONToObject that I covered previously. I decided to see if anyone had done work to convert JSON into Delphi classes.

Thankfully YES! I found this really handy project JsonToDelphiClass on GitHUB by . The project in covered in the post Introducing JsonToDelphiClass.

The JSON to Delphi Project is a Delphi FMX application that has a simple UI that allows you to modify the automatically created JSON class names which is pretty useful and the code worked first time when copied into my sample. (although I have more playing to do)

The JSON to Delphi tool is definitely a useful resource to work alongside the REST Debugger that you can find in the BIN directory of your RAD Studio install.

Stay tuned for the blog post when it arrives, but in the mean time, if your working with the REST components, I would recommend checking out Petar’s project along side my earlier post on Integrating Microsoft Azure Translation Services into Delphi.

 

Delphi 64bit Code

Updating 32bit code to Delphi 64bit

Ever since Delphi XE2, it has been possible to generate Delphi 64bit applications from the same code base as your traditional Windows 32bit Delphi code. The business case for 64-bit for business is covered in this tech paper The Impact of 64-bit Applications to your Company’s Bottom Line.

On the whole moving to 64bit (on iOS or Windows) is beautifully simple to achieve! It can be just as simple as adding the Delphi 64bit Windows target platform in the project manager and rebuilding the project.

My experience from talking to many developers who have moved up is that normally there are a few things to check in your code but typically its not a massive task to get compiling and ready to test.

A lot has been recorded on moving from Windows 32bit to Windows 64bit Delphi and this should be a useful summary if your just planning now moving up from older versions of Delphi to Delphi 10. If you are building iOS applications, then you will need to use the 64bit build now to get into the AppStore. Thankfully, Delphi has made the task of using 64bit very simple across all platforms and protected us from the headaches non Delphi Developers have had on the whole.

Lets start with this short video from David I who covers some the foundations in 7 minutes!

Continue reading Delphi 64bit Code

InterBase Journaling – InterBase Labs

InterBase Journaling

We (geeks) should all know that applications that run in memory run faster than those that have regular disk I/O.

Having more of the data processing in memory has a positive effect on speed and performance,  however its not without risk. As memory is transient, you are always at risk of data loss if the data in memory hasn’t been saved to disk (which is where you get the disk i/o speed degradation again.

InterBase brings together the speed of in memory data processing with the security of immediate disk I/O with InterBase Journaling. The write ahead logging enables InterBase to securely log the write transactions to the journal making the best of both worlds possible.

Using Journaling – the basics

Continue reading InterBase Journaling – InterBase Labs

InterBase User Security – InterBase Labs

InterBase User Security

User Security isn’t new; everyone is use to logging into the applications they use. To help developers build cross platform applications faster, InterBase has a flexible API for user security that simplifies the access to data held in InterBase regardless if your application is deployed to Windows, Mac, Linux, iOS and Android.

User Security in InterBase helps control WHO gets to see WHAT and is enhanced with a strong encryption model (which I covered in the Rising to the Data Security Challenge webinar) so lets focus on the foundations of user security in this article.

Planning your data security!

Continue reading InterBase User Security – InterBase Labs

InterBase Referential Integrity – InterBase Labs

InterBase Referential Integrity

https://youtu.be/X_xAHWEYQSE

InterBase has a number of options for Referential Integrity that are powerful to use and simplify keeping data valid.

This video covers (more reading from the InterBase DocWiki on the links here)

Tip for adding Constraints.

One very cool tip in the video is to use constraints to add in a unique key, this way you can drop it easily at runtime.  Remember, the field needs to be marketed NOT NULL to enable a primary or unique key.

ALTER TABLE CUSTOMER ADD CONSTRAINT U_TEST UNIQUE (CUSTOMER_NAME);

The above example names the constraint U_TEST. (you can put whatever value you want in to name it, making it easy to drop with the following statement.

ALTER TABLE CUSTOMER DROP CONSTRAINT U_TEST;

InterBase Labs

For more InterBase Labs videos visit the InterBase pages on the Embarcadero website.

LiveBindings in VCL – Part 7 – More LiveBinding Classes

In my earlier posts on Delphi Visual Live Bindings I looked at how to link to bindings via code.

There are a number of classes that help along the way but there are two specific categories of classes and that is what I want to cover in this post.

LiveBindings and List v Link

Sometimes you want to fill a list with values; sometimes you want to keep a list of values updated; this is in essence the difference between using List (e.g. TBindList, TBindGridList) and Link (e.g. TBindListLink, TBindGridLink)

TBindList will fill a list with values, if the data/objects linked to changes then the data will not update unless you manually tell the list to re-populate using the bindings FillLists property.

TBindListLink however will keep the list in sync.

Before you continue… look at the samples

I recommend playing with the “OneOfEach” sample in the samples directory.

{samples}\LiveBindings\oneofeach\vcl

Try changing the fish name in the TBindGridLink and seeing how it updates over the other tabs where the FishFacts data is used.

What is a Binding Source and how is it different to the Control?

Continue reading LiveBindings in VCL – Part 7 – More LiveBinding Classes

InterBase – IoTA Internet of things awards Winner 2015

InterBase - IoTA winner 2015

Embarcadero – InterBase
Most Innovative Use of Data

It was with great pleasure that I attended the 2nd Annual IoTA award dinner yesterday, part of the 17th Annual Total Telecom World Communication Awards (WCA).

Hundreds of senior executives gathered at the iconic Wembley Stadium to see the winners named. An incredible C-Level audience represented the communications industry from across the globe, with representatives from every continent attended.

The awards, (one for which InterBase was a finalist), were sponsored by leading players from the Telco industry, including ADVA, AsiaInfo, CITIC Telecom CPC, IDT Telecom, PCCW Global, Tata Communications, TeliaSonera International Carrier and Vodafone.

Left to right: Adam Oliver, (CEO, Institute of Telecom Professionals); Marc Brunel-Walker, (Director of International Marketing, Embarcadero), Stephen Ball (InterBase Product Manager – Embarcadero), Scott Mills (Radio 1 DJ and host)

As you can see from the photo above, InterBase beat off the competition to win “most innovative use of data” in part thanks to the patent pending technology “Change Views” that we developed and brought to market back in December 2014 with InterBase XE7.

InterBase, the home of Change Views.

Change Views is dramatically changing the way data is moved to and from mobile and the edge of IoT by allowing developers to easily identify delta’s; By retrieving only the deltas, it enables network traffic and cost to be slashed, ensuring a much richer end user experience.  Additionally the enhanced granular encryption and role based security model offered by InterBase enables true enterprise data best practice to exist everywhere through the development life cycle.

For more on InterBase, please visit http://www.embarcadero.com/products/interbase

Thank you’s

There was no chance on the night to do a speech and offer our thanks so I’ve decided to decant it here. Firstly I want to thank all the InterBase users out there for your loyal support and amazing stories you share with us. This go a long way to helping InterBase win such amazing awards.

I want to thank Jason Vokes, John Thomas, Marco Cantú, James Pitts and Michael Swindell for their support and guidance when we initially dreamt up Change Views and needed a plan to bring it from development through to market. Marc Brunel-Walker for helping with the award submission. Dmitry Arefiev for his amazing FireDAC integration helping developers get to the technology faster, and similarly Jeff Overcash for IBX; My wife Charlotte for all her amazing support; But most importantly today to my InterBase team, especially Charlie Caro and Sriram Balasubramanian, with whom I spent 3 long, but fun days in 2014 planning and discussing use cases and scenarios as we set off to give birth to this amazing technology.

Finally a big thank you to Rob Chambers and his team at Total Telecom for a wonderful memorable evening; It is by far the best awards event I have been to in my 4 years at Embarcadero, and I hope we get the chance to attend (and hopefully win another award) next year.