by
Marko Rüterbories
| Nov 24, 2010
Object orientation was added to the language in release 10.1A five years ago. During our consulting activities, we faced the prejudice that the new language features cannot be used with existing applications without a major redesign. In our projects where we support customers introducing the GUI for .NET into existing Progress / OpenEdge applications as well as while building our tools WinKit and Dynamics4.NET the integration between existing procedural and new object oriented code has always been a fundamental requirement.
During my EMEA PUG Challenge presentation (DEV08: Using object oriented language features with procedural Progress code) I have demoed techniques how the new language capabilities can be added stepwise to existing code to improve the quality of existing code and prepare both the existing application but also the developers for more usage of modern language and architectural concepts.
The presentation and code samples are available for download here: https://www.consultingwerk.com/docs/default-source/blog_documents/oo-in-procedural-1.pdf?sfvrsn=1543e3e3_2
The samples were developed based on OpenEdge 10.2B02. Some language features (like the events or static class members) will not be available on earlier releases of the object oriented language features.
After the presentation I have been asked a couple of times about more detailed samples how to solve the issues of GLOBAL SHARED variables which are not accessible from classes in the ABL. I will provide samples and a description of strategies on this blog soon.
Please don’t hesitate to ask questions about the code samples or the presentation using the feedback form on this blog!