The Oregon Delphi User Group is a community-sponsored group of Delphi developers and enthusiasts in and around the Portland, Oregon metro area. We offer periodic meetings presented by leading developers, authors, and community members who graciously share their experiences with the group and focus on the Delphi Integrated Development Environment and related technologies.

Show Me The Code!

05/25/2016 6:00 pm


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.

Tech Gab Session

03/14/2016 6:00 pm


This month we’ll just have a tech gab session, if that’s alright with everyone. We could discuss further last month’s topic, contemplate the meaning of Idera’s purchase of Embarcadero and what to make of their recent announcement to focus exclusively on developer tools, show off a latest gadget you might have, or just brainstorm on what the next killer app might be.


02/08/2016 6:00 pm


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

11/10/2015 6:00 pm


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

09/08/2015 6:00 pm


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

07/14/2015 6:00 pm


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.

Shared Projects in Oxygene - Part 2

05/12/2015 6:00 pm


In March, we introduced the concept of Shared Projects using Oxygene, a Pascal compiler that works inside Visual Studio and generates applications for all the major platforms--including Windows Phone.

This month, we'll continue that exploration by branching away from the Windows desktop and take a look at how the same shared classes we used previously can also help us build ASP.NET web sites and Android apps.


The code for everything demonstrated during both parts of this presentation is on GitHub. Feel free to download make suggestions or improvements.

Tech Talk

04/07/2015 6:00 pm


There is no formal presentation for this meeting. We will meet as friends in the programming industry and talk about whatever geeks will tend to discuss when they get together!

Shared Projects in Oxygene - Part 1

03/10/2015 6:00 pm


A little over a year ago, we discussed one application in several different languages covering Delphi, C#, Oxygene and even JavaScript. It's very unusual that a company would want to do this in real life given they'd have to support several different languages, but it made for some interesting discussions and comparisons. Usually, a company attempts to minimize the number of supported environments to prevent fractured development teams and keep support costs down. Many software tools over the years have promised write-once/build-or-run-anywhere solutions. That's the promise of Delphi but it doesn't support all platforms and not everyone is satisfied with how Android and iOS are supported.

Tonight, we'll look at an advanced language that really does build applications for every major platform today: Oxygene.

Oxygene is an Object Pascal-based language from RemObjects Software that works inside Visual Studio to build a wide variety of types of applications. From console-based utilities to .NET Windows Forms applications to ASP.NET web sites to mobile apps on Windows, iOS, and Android, you can use one IDE and one modern programming language to support them all! (And if you don't like Pascal, they also offer C# and Swift compilers!)

This will be part one of a two-part session and may extend into a third if there is enough interest for some of the advanced concepts. We'll start with the idea of a Shared Project in Oxygene and show how your platform-agnostic classes can be shared among all your projects without creating DLLs or copying your code.

Then we'll show the built-in support for unit testing and move quickly into a simple console application. Next, we'll build a familiar .NET Windows application using WPF. If there's time, we'll show the Windows Phone app as well which has many similarities to the WPF application since they both use XAML.

Our next session will cover ASP.NET and Android and possibly iOS (depending on the resources available--a Mac is required for building an iOS app).

Tech Talk

01/13/2015 6:00 pm


There is no formal presentation for this meeting. We will meet as friends in the programming industry and talk about whatever geeks will tend to discuss when they get together!