术语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中大量的类和部件原本就是不可视的,他们对于不同的开发平台而言,具有一致的编程接口。