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.

May Meeting

05/12/2014 6:00 pm


One of our regular attendees, Gene Juhos, will be leading the discussion this evening.


Gene Juhos

The Future of ODUG

04/14/2014 6:00 pm


A few years ago, David Cornelius, coordinator for this group, threatened to leave the Portland area and move to California. Indeed, he had a job there and traveled there quite often, but never really left.

Well, once again, David has accepted a job in another state, this time in Washington. It's more likely this time that his move is imminent and will be permanent. Thus, coordination of these meetings will necessarily fall to those who remain and are interested in seeing it continue.

Discussion of what it takes to run this group and who may be interested in taking over the simple management of the meeting room and topics presented will be the focus of this month's meeting.

The Modern Delphi IDE

03/10/2014 6:00 pm


This month's meeting will be a group effort, with various people at the wheel (or rather the keyboard). Delphi 7 was arguably the best Delphi IDE ever. It had the old and fast help screens (with examples!) and was complete enough to build robust database applications on Windows for several years.

But time marches on and there are new language features, new technologies to support, and enhancements* in the IDE. (*Some people don't consider the changes to the IDE to be enhancements, but that's a discussion for a different forum.) With new VCL controls, Unicode strings, anonymous methods and generics, more RTTI available, keyboard templates, Error Insight, Live Bindings, and support for touch screens with gestures, there are many reasons to upgrade.

We'll touch on as many of these areas as we have time for and as the attendees are interested in using either Delphi 2010 or Delphi XE5. Come join us and see for yourself what you may be missing if you're on an older version of Delphi. Perhaps you have an unwrapped box on the shelf (figuratively--I know software doesn't come in a box anymore) and this will prompt you to start using it. Or maybe you'll discover some of the new controls will enable you to ditch unsupported 3rd-party components which are holding you back.

At the end of the meeting, we'll take a vote to see which version of Delphi is the best!

Delphi XE5 - Second Look

02/10/2014 6:00 pm


We'll explore Delphi XE5 a little more this evening and have a general chat on all things programming!

One idea is to explore some of the new VCL enhancements as noted in David I's blog: Does anyone have experience using Delphi's Live Bindings? I'd like to see how that compares with some of the XAML/WPF stuff I've been dealing with.

Drive Safely!

RAD Studio XE5 - First Looks

01/13/2014 6:00 pm


Two of our regular attendees have upgraded to Embarcadero's latest version of Delphi and in fact, the whole RAD Studio suite. This month, we'll crack open the packages and take a look with them.

Doug Ausmus will show us his version of a "Hello World" which involves calling an external DLL to talk through a USB port to electronic circuit boards and watching LEDs blink.

Gene Juhos will show us what all we get when we start a new Android app from one of the several built-in mobile app templates.

Delphi XE5 Tour!

12/04/2013 12:00 pm

Embarcadero's Delphi XE5 Tour!

The evening event has been CANCELLED! Instead, you are invited to Ruth's Chris Steak House in Portland at noon. Because there were two events on this date and far many more people registered with Embarcadero for the noon event than the evening event, Embarcadero has eliminated the evening one. There will not be any meeting at the Fanno Creek Brew Pub in December.

Join us to see Embarcadero’s new Android and iOS mobile development technology in action. In this session you will learn how to move from desktop to mobile development delivering true native Android and iOS apps.

At this technical and interactive session, attendees will:

  • See Android and iOS true native apps built from a single code base
  • See multi-device, true native development tools in action
  • Talk with development experts on how you can make the move to mobile today

Follow this link to learn more and register for this mid-day Android and iOS Meet and Eat event. Lunch will be provided.


One Application, Many Different Development Environments - Part II

11/04/2013 6:00 pm

Oxygene for WPF and WinRT

In September, we took a look at a simple application and how it was written using several different programming environments. We started with what we're all familiar with, Delphi for Win32, moved to C# for WinForms which had a different language and IDE, but used similar window controls, then kept the language the same and built the app in C# using WPF, and finally used Oxygene, a Visual Studio plug-in compiler with the Pascal syntax. We also looked at a web version of the application using JavaScript.

This time, we're going to continue where we left off, in a Windows desktop application using .NET and WPF in Oxygene, but using some more advanced techniques to make it look better. There's a second reason for revisiting this--learning about layouts in XAML. This becomes important when we move to mobile platforms and need to handle a wide variety of device sizes.

Once we've rearranged the layout, we'll look at how the XAML changes to support WinRT using Oxygene for WinRT (and demonstrate it on a Microsoft Surface), followed by a Windows Phone version. UPDATE: Due to extremely frustrating issues with deploying, the Microsoft Surface demo will not be available.

The learning curve is very steep on these different platforms and there are significant differences just within the Microsoft platforms, so this time we'll concentrate in this area. Next month, we'll see a demonstration of Delphi XE5 and how it handles these devices but further exploration using Oxygene for Java and Oxygene for iOS must wait until next year.

One Application, Many Different Development Environments - Part I

09/23/2013 6:00 pm

Delphi, C#, Oxygene, and JavaScript

Since programming languages were invented, people have tried to use one code base to get an application to run on multiple platforms. Whether it meant building custom compilers or interpreters for each platform (BASIC, C, JavaScript, Python), or writing an API layer for each device that talks to a generic module (Java, .NET), the goal has been to reduce the time it takes to develop a product while having it work for as wide a market as possible.

So why then, would someone want to write one application in as many different programming languages and environments as possible? For exploration and learning, of course!

It's easy to find tutorials with examples of "Hello World!" in every language. The program we'll be looking at tonight is a little more involved, enough to actually be useful and learn something. It's a one-form application with some buttons, a ListBox, and some string manipulations, just enough to make it interesting, but not too much so we can't get through it in an evening. (A more involved application is slated for early next year.)

The first environment we'll explore will be Delphi, of course. This will introduce the project's concepts and give a base of expectation for the succeeding examples. The application was originally conceived in Delphi 1, but has been upgraded and a few language enhancements made so it now uses Delphi 2010.

Then we'll move into Visual Studio using C#. There we will explore two varieties, one using WinForms (the first GUI available in .NET, but now deprecated), and one using WPF (Windows Presentation Frameworks, the current recommended way to build .NET apps). Both of these variants were created in Express 2012 for Desktop version of Visual Studio.

Next we'll use Oxygene, a Pascal compiler inside Visual Studio, using WPF and compare with both the C# version and the original Delphi versions.

Finally, we'll explore a web version of this program written in HTML5/JavaScript.

Look for mobile devices (Windows, Android, and iOS) to be supporting this same application in November!

General Discussion

06/10/2013 6:00 pm


General discussions about technology, the state of Object Pascal, and future meetings.


Fanno Creek Brew Pub
12562 Main Street
Tigard, OR 97223
(503) 624 9400
(Link to map)

Introduction to Arduino

05/13/2013 6:00 pm


"Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments."

Sounds like fun? There are several of us Delphi developers that are interested in this technology and one of our members has offered to share his passion for electronics, give us a hands-on demo, help us get started playing with this technology, and teach us a little of what you can do with it.