Original author(s) | Borland Software Corporation |
---|---|
Developer(s) | Open-source community |
Initial release | 1991 |
Stable release |
OWLNext 6.42 / May 21, 2015
|
Development status | Active |
Written in | Borland C++, Borland Pascal |
Operating system | Windows and Linux |
Type | Library or framework |
License | Originally proprietary; now freeware |
Website | sourceforge |
The Object Windows Library (OWL) is a Borland C++ object-oriented framework originally designed for Windows API. It was used in Turbo Pascal for Windows, Borland Pascal and their Borland C++ package. It was a competitor to the Microsoft Foundation Class Library (MFC).
OWL had incomplete support by the Borland C++ IDE and wasn't always upwardly compatible from release to release. It was eventually deprecated in favor of the Visual Component Library (VCL), which is written in Object Pascal and included in Delphi and C++ Builder Studios.
An open source internet community has released OWLNext, a series of corrections and improvements to the original OWL, which also provide support for modern compilers.
In the early 1990s, Borland dominated the C++ market. In 1991 Borland introduced Borland C++ 3.0 with 'Application Frameworks' which included Turbo Vision for developing DOS applications and OWL for the Windows platform. C++ was just beginning to replace C for development of commercial software, especially with the rising of the Windows platform (and the complexity that it involves). This allowed OWL to gain some popularity.
The first version implemented a proprietary extension called Dynamic Dispatch Virtual Tables (DDVT). This allowed objects to bind 'events' (windows messages) with 'methods' (functions). This mechanism avoided saturating the OO virtual function system with one function for each window message. In the next version of OWL, DDVT was replaced with a RESPONSE_TABLE, a macro-based mechanism, which is maintained today. A conversion tool (OWLCVT) was included to migrate code from OWL 1.0 to OWL 2.0.
In 1992, Microsoft launched MFC. A DOS version of MFC was short lived. The Windows version was simply a wrapper around the Windows API and was criticized for not being truly object-oriented.