術語VCL的變更:從VCL到CLX
此主題相關圖片如下:
此主題相關圖片如下:
術語VCL的變更:VCL->CLX
VCL(Visual Component Library):是對整個Delphi部件框架(Delphi component framework)的不確切的稱呼,因為,這個框架中多數部分並不是可視的。這在整個Borland開發人員中造成了混亂。在Borland開發出Kylix後,Borland官方最終將Delphi部件框架命名為CLX(Component Library for Cross-Platform)。
CLX現在是描述使用在Delphi, C++Builder, 和 Kylix中的整個部件框架的官方術語。而VCL僅僅是一套部件子集,該部件子集為基於Win32 API的應用程序提供了可視的編程接口。 在下面的架構圖上,你能清楚地看到VCL處在右上角。
此主題相關圖片如下:
VisualCLX與VCL的比較
在Kylix中,Borland引出了VisualCLX。VisualCLX是一套使用在跨平台圖形應用程序中的部件子集。Qt, 來自於TrollTech公司的類庫, 在VisualCLX中被使用來作為圖形API 。VisualCLX在各版本的Kylix、Delphi 6和C++Builder 6以上中均可使用。在高層次上,VisualCLX 控件的接口和VCL控件的接口保持一致。他們完成同樣的功能,在同一個應用程序中是相互排斥的。CLX支持編寫同樣的代碼來同VCL 和VisualCLX的屬性、方法和事件驅動進行溝通。你能通過引用適當的單元名稱來辨別使用哪種控件集,如下面的代碼片段的演示。
{$ifdef VisualCLX}
uses
Classes, QControls, QComCtrls;
{$endif}
{$ifdef VCL}
uses
Classes, Controls, ComCtrls;
{$endif}
...
{ the same source code for talking to either
set of controls goes here, such as }
Form1.Caption := 'Hello World!';
Button1.Enabled := True;
....
VisualCLX 和VCL並列並互斥。
此主題相關圖片如下:
VisualCLX在Linux上運作時, VisualCLX 調用Linux上的Qt的類庫,而Qt調用Xwindow的功能來進行圖形顯示。
此主題相關圖片如下:
VisualCLX在Win32上運作時, VisualCLX 調用Win32上的Qt的類庫,而Qt調用Win32的功能來進行圖形顯示。
此主題相關圖片如下:
VCL在Win32上運作時, VCL 調用Win32 APIs來進行圖形顯示。
此主題相關圖片如下:
當前框架的選擇
以下幫助說明對於你在進行圖形界面應用程序時,在VCL或VisualCLX中作出選擇時,將非常有用。
• 如果你准備使你的可視應用程序在Windows看起來更好,請使用VCL。
• 如果你准備使你的可視應用程序可同時運行在Windows和Linux,請使用Visual CLX。對應Windows,你需要分發Qt 運行時(run-time)庫和包。而Qt已經包括在主流的Linux系統之中。
不論你使用VCL還是VisualCLX,你的應用程序都要使用CLX,它是Delphi的框架(framework)。
包含VCL 和VisualCLX的可視部件包只有9個,而整組成CLX的包共有40個。CLX中大量的類和部件原本就是不可視的,他們對於不同的開發平台而言,具有一致的編程接口。