# Object Windows Library

La bibliothèque Object Windows Library (ou bibliothèque d'objets de Windows) abrégée en OWL) est une bibliothèque conçue pour Borland C orientée objet conçu à l'origine pour utiliser les API Windows. Elle a été utilisée par Turbo Pascal pour Windows, Borland Pascal et Borland C ++. Elle était un concurrent à la bibliothèque Microsoft Foundation Class (MFC).
OWL n'a pas toujours été compatible d'une version à la suivante. Il a finalement été abandonné au profit de la Visual Component Library (VCL), qui est écrite en Pascal Objet et incluse dans Delphi et C++Builder.
Une communauté open source a publié OWLNext qui est une série de corrections et améliorations apportées au OWL d'origine, utilisable pour les compilateurs modernes.

## Histoire

Au début des années 1990, Borland a dominé le marché C++. En 1991, Borland introduisit Borland C++ 3.0 qui inclut Turbo Vision pour développer des applications DOS et OWL pour la plate-forme Windows. C++ ne faisait que commencer à remplacer C pour le développement de logiciels commerciaux, en particulier avec la montée de la plate-forme Windows (et la complexité que cela implique). Cela a permis à OWL d'acquérir une certaine popularité.
La première version mise en œuvre d'une extension propriétaire appelé Dynamic Dispatch Tableaux virtuels (DDVT). Cela a permis de lier des objets « événements » (fenêtres messages) avec des « méthodes » (fonctions). Ce mécanisme évite la saturation du OO fonction virtuelle système avec une fonction pour chaque message de fenêtre. Dans la version suivante de OWL, DDVT a été remplacé par un RESPONSE_TABLE, un mécanisme macro-base, qui est depuis maintenue. Un outil de conversion (OWLCVT) a été inclus pour migrer le code de OWL 1,0 à OWL 2.0.
En 1992, Microsoft a lancé MFC. Une version DOS du MFC a été de courte durée. La version Windows est tout simplement un wrapper autour de l'API Windows et a été critiqué pour ne pas être vraiment orienté objet.
En 1993, Borland a lancé Borland C ++ 2.0 pour OS / 2 qui comprenait une version de OWL 2.0. OWL 2.0 utilisé BIDS, la bibliothèque de modèles plus récent pour « conteneur » ou « bibliothèque de classes ». En avril 1993, Borland et Novell ont signé un accord au port OWL à Novell AppWare Foundation. Fondation AppWare était une API conçue par Novell pour être multi-plateforme, ce qui permet de déployer des applications sur Mac, Windows et Unix et clients avec plusieurs services de réseau. Les principaux outils de développement en AppWare étaient OWL et AppBuilder (un outil visuel pour relier les modules de l'application chargeables par le biais d'une « Application Bus »).
En janvier 1994, Borland a lancé Borland C ++ 4.0 pour Windows qui comprenait également OWL 2.0. Elle a ajouté Doc / Voir le soutien, les contrôles VBX et OLE. Win16, Win32s et Win32 a été pris en charge (Windows 95, le successeur Win32 de Windows 3 .x est apparu en Août 1995). Vers la fin de 1994, le PDG de Novell Raymond Noorda a démissionné. Les plans d'expansion de Novell ont été réexaminés, le développement AppWare a été arrêté et qu'il était donc OWL pour AppWare. En 1995, un groupe de membres de l'équipe d'origine a acheté AppBuilder. Dans la même année, UNO Software (www.uno.com) a offert un port commercial pour OWL 2.0, plusieurs plates - formes: AIX 3.2.5, décembre OSF / 1 AXP, HP-UX 9.03, Linux 1.2, Solaris 2.x, Sun OS 4.1.x et SVR4 fox x86. Il a été appelé WM_MOTIF.
Au début de 1995, Borland C ++ 4.5 avec OWL 2.5 a été lancé. Comme il a été lancé avant Windows 95, Borland a promis une mise à jour gratuite pour toute incompatibilité présente dans le dernier Windows 95 (si disponible). Versions 4.51 et 4.52 suivies. OWL 2,5 comprenait également l'Object Component Framework (OCF) pour faciliter le développement OLE.
En août 1995, Microsoft a publié Windows 95 et Visual Studio 4.0. Contrairement à la croyance populaire, l'inclusion de la MFC40.DLL avec Windows 95 n'a pas eu un impact énorme sur l'adoption du MFC. En 1995, Visual Studio 1.5 a déjà éclipsé Borland C ++ dans les livraisons, en partie en raison du volume et de la qualité de la documentation fournie avec Visual Studio. La transition presque transparente des projets MFC à partir de Visual Studio 1.5 et Visual Studio 4.0 a également contribué à sa popularité. L'instabilité de l'original Borland C ++ 4.5 et le traitement original de OWL également persuadé de nombreux développeurs d'abandonner Borland C ++ et OWL en faveur de Visual C ++ et MFC.
En 1996, Borland a lancé Borland C ++ 5 pour Windows, qui comprenait OWL 5, qui était une réorganisation majeure de la bibliothèque. En août 1997, Borland C ++ 5.02 a été introduit avec légèrement mis à jour une version de OWL 5. Une édition japonaise était également disponible. En outre, le Borland C ++ Builder a inclus OWL dans le « CD compagnon ». Après que Borland concentré développement sur le framework VCL qui a évolué aux côtés de OWL depuis Delphi 1.0 lancé deux ans auparavant. VCL continue d'être le cadre principal de Borland (maintenant CodeGear ) pour les plates - formes Windows et .NET. Exemples sur les applications OWL comment liaison avec les formes VCL (Dialogs) ont été inclus dans la dernière version de Borland C ++. Borland a cessé de vendre Borland C ++ 5.02 et OWL fin 1999.
Après Borland dépréciée OWL, le développement a été repris par le groupe et est appelé OWLNext qui se compose de correctifs pour le code source de OWL d' origine. Il a été inclus dans les disques partenaires de Borland C ++ Builder 2007 et Borland C ++ Builder XE.

## Les différentes versions

| Produit | Version OWL |
| Borland C/C++ 3.1 | OWL 1.0 |
| Borland C/C++ 2.0 for OS/2 | OWL 2.0 |
| Borland C++ 4.0x | OWL 2.0 |
| Borland C++ 4.5x | OWL 2.5 |
| Borland C++ 5.0x | OWL 5.0 |
| Borland C++Builder 4.0 | OWL 5.0 |
| Borland C++Builder 5.0 | OWL 5.0 |
| CodeGear C++Builder 2007 | OWLNext 6.20 |
| Embarcadero C++Builder XE | OWLNext 6.30 |
| Embarcadero C++Builder XE2 | OWLNext 6.32 |