Object Windows Library
Object Windows Library(簡稱OWL),由Borland公司在Turbo Pascal for Windows時所推出,可自動完成許多由設計者自行撰寫的程式碼,他的竸爭對手是Microsoft Foundation Class Library(MFC)。其後繼者為VCL。
歷史
早在1990年代,Borland在C++的市場上耕耘已久,1991年推出的Borland C++ 3.0,縱橫C++編譯器市場十餘年,廣受歡迎。
1992年Borland買下White Water的 C++ Framework,改名為 Object Window Library (OWL),並且推出以 OWL 1.0為核心的Borland C/C++ 3.1。
1993年,Borland 推出 Borland C++ 2.0 for OS/2 內附有 OWL 2.0. OWL 2.0 使用 BIDS。
1994年,Borland 急於推出 Borland C++ 4.0 for Windows 內含 OWL 2.0. 增加了 Doc/View support, VBX controls, OLE等功能。Borland C++ 4.0不是穩定的版本,容易當掉,使微軟的Visual C++ 1.0趁機拿下大量的市場。
1995年,Borland C++ 4.5 with OWL 2.5 趕在Windows 95之前推出。4.51版 和 4.52版緊接著修正與Windows 95不相容之處。OWL 2.5 ,為了完整支援OLE,OWL 2.5 同時包含了Object Component Framework (OCF)。Object Component Framework是功能強大的Framework,但與之前OWL不相容,使得舊有的使用者無法適從。最後倒向微軟的Visual C++陣營,種下了日後市場萎縮的遠因。1995年 Microsoft 同時推出Windows 95 與 Visual Studio 4.0,在某些程度上扭轉了C++ compiler以來的逆勢,奪取超過50%的市場佔有率。
1996年,Borland推出 Borland C++ 5 for Windows, 內含有 OWL 5. 1997年8月 Borland C++ 5.02 的推出小小修正了 OWL 5.
1999年,Borland 停止銷售 Borland C++ 5.02 and OWL。
雖然 Borland 放棄了 OWL, 但有一個群組仍繼續發展, OWLNextOWLNExt 存放有許多OWL的原始碼。
2007年 Borland/Codegear 推出的 Borland C++ Builder 2007 內含 OWLNext 的 CD,內有 VCL/OWL 可支援Vista.
風格
OWL 支援單一/多文件介面(Single/Multiple Document Interface (SDI/MDI)), 還有文件與視覺文件模式 (Doc & View Document Model), 拖曳(Drag&Drop), 列表(print) 以及預覽列印(print-preview), 還有GDI, Windows Help (Winhelp), MAPI, Internet (OwlSock/WinSock), OLE 1.0 和 OLE 2.0。
OWL是由類別所組成的架構,其類別名稱都是T當成前置詞,例如:TApplication, TWindow, TFrameWindow, TDialog, TBitmap等。VCL可使用相同的T前置詞,但是VCL的根類別(root class)只有一個 TObject,而OWL有許多的根類別。本質上,OWL使用多重繼承。TWindow是OWL最常用的類別,它多重繼承自TFrameWindow, TDecoratedFrameWindow, TDialog, TInputDialog, TFileOpenDialog等類別,也包含了TEdit, TStatic, TButton, TGlyphButton, TComboBox等類別。
版本
Product version | OWL version |
---|---|
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++ 5.0x Japanese | OWL 5.0 |
Borland C++ Builder 4.0 | OWL 5.0 |
Borland C++ Builder 5.0 | OWL 5.0 |
Borland C++ Builder 2007 | OWLNext 6.20 |
Turbo Pascal for Windows 1.0 | |
Turbo Pascal for Windows 1.5 |
參考書目
- 李維:《Borland傳奇》