Metafiles and TeeChart


This month, we have a couple of topics to cover. The first presentation will cover manipulating meta files, including reading them from a database, displaying them properly on various sized screens, and preparing them for printing. The really cool thing is a metafile permits consistent quality report printing regardless of monitor resolution, aspect ratio, or user selected enlargement (125%, 150%, etc.). They can be used with any report writer that supports a TImage equivalent. Homer Jones will share his experiences with us.

Our second presentation will be a demo of the TeeChart components by Steema Software. You will see how to add charting to your application and see some demos that come with the product. David Cornelius will be talking about this component set.

Quality Management Principles


The official title of this month's meeting is, "An Overview of Quality Management Principles as Applied to Software Development." That's may look like a lot to swallow, but it's important to differentiate Quality Management from Quality Assurance, and this talk will be specifically geared to you, the software developer. Finally, since we only have an hour or two, it'll be just an overview--this topic could consume a large amount of time.

The discussion will cover two main areas:

  1. Predictability in Software Development: What does it mean, and how is it achieved?
  2. Using "Quality Gates" as a project scheduling and development process improvement tool.

Tech Talk


This month, we'll have a general tech session, discussing whatever subjects happen to come up while we eat and catch up on what's been going on over the summer.



This month, we have a short demonstration of SecureBridge, another great product by DevArt. This small set of components makes setting up SSH and SFTP client and server connections a breeze and the latest version supports all the new security-enhanced protocols required by today's increased standards.


Show Me The Code!


This month is going to be a "show and tell" with three different applications:

  1. an Android application using Delphi and FireMonkey,
  2. a insurance management program incorporating compiled resources,
  3. a back-end integration using plug-in modules, REST APIs, and UniDAC accessing SQLite and MySQL.



Spring4D is an open-source code library for Delphi 2010 and higher. It consists of a number of different modules that contain a base class library (common types, interface based collection types, reflection extensions) and a dependency injection framework.

We will go over the basics, covering the most useful parts with the broadest appeal, especially concentrating on lists and all the cool things you can do with them. A discussion about the main reason Spring4D came into existence, Inversion of Control, and what Dependency Injection really means will also be addressed. Finally, you'll learn why so many people use service location (hint: it's easy!) and why it's looked on as a bad practice (hint: it's an ANTI-PATTERN!).


Ron Grove introduced the Spring4D library to product development at Retail Dimensions several years ago. It quickly transformed several libraries used widely throughout the programming department. Ron has been in the IT Services area for many years but has become a superb programmer with a strong interest in a broad spectrum of technologies including Delphi, .NET, and mobile.

Home Automation with FireMonkey


One of our members has been diving into the FireMonkey framework and has written his first Android app. This is not a formal presentation--he will simply share some of the journey he undertook as he used FireMonkey and REST services in both a Windows and an Android app to control home automation devices with Delphi XE7.


Mike Shkolnik is a Project Manager in the Portland area and while he's been "using Delphi since it was Turbo Pascal on a CP/M card in an Apple II," he is completely self-taught and does not consider himself an expert. (In other words, he's like many of us!)

Five Years of Updates


Many Delphi developers have not upgraded in quite some time. Some say Delphi 7 was the last great IDE, others got up to Delphi 2007 but never jumped into Unicode. There were some great language enhancements in Delphi 2010, but then the XE line started and the update rate increased dramatically adding 64-bit, FireMonkey, FireDAC, add-on tools, cross-platform capabilities, REST and JSON support, and many other things.

For some, the updates were considered little more than paid bug fixes. For others, the updates piled up on the virtual shelf with little time to figure out new features before the next version was out. But many of you just closed your wallet and stayed with what you had, comfortable in a fairly stable environment and getting third-party components to add support that only appeared in much newer versions of Delphi.

With Delphi 10 Seattle just released, this might be a good time to look back at the whole XE line of upgrades and review the changes that have taken place. There have been NINE versions of Delphi in the last five years, which is a nightmare if you're a component developer and a challenge to keep on top of if you're busy running a business. For developers that do upgrade, I suspect they either skip several versions at a time or just stick with one that is fairly stable for what they need to do and let the others pile up.

Tonight, we'll look through the following lists of "What's New" and pull up the IDEs to take a look at the highlights of the new and enhanced features you may have missed. This will be an open discussion as it's unlikely any one person could be familiar with every single new feature! (Case in point: The speaker has had very little time with FireMonkey and has no experience with FireDAC, so any attendees with knowledge in these areas are welcome to share their experience with the group.)

Developer Tools


Recently, the OCCA's monthly meeting was on My Favorite App. It was a roaring success and sounded like a good idea for this group. So this month, our topic will be on a similar vein, but with a focus on developer tools. This will be an open forum led by David Cornelius but with the hope that each attendee will have something to share.