delphi中的vcl和clx有什么区别
2017-03-20 · 知道合伙人软件行家
一、关于 VCL 与 CLX
VCL,是 Visual Component Library 的缩写,意即可视组件库(但实际严格意义上来说,并不确切,因为整个 delphi 的框架支撑环境还包括一些非可视化的支持库)。
VCL 是使用 delphi 进行编程人员的最常用的组件库(类库),是 Delphi 语言面向对象特性的体现,该类库基于 windows 平台,创造了功能丰富、易于使用的组件,供开发者快速创建 windows 应用软件。
CLX, 是 Component Library for Cross Platform 的缩写,意即跨平台组件库。
CLX 的出现源于当时 Borland 公司想要提供这样一种产品,即:通过一次代码编写,可以同时在 Windows 和 Linux 两种操作系统上进行发布的产品,即可用 Delphi 开发 CLX 程序,可以不做任何修改,在Linux下用Kylix重新编译。
CLX 的出现到结束时间比较短暂,大概从6.0开始,到 8.0 之后,其后续版本并不再对 CLX 提供支持。
CLX 是描述使用在 Delphi、Kylix(delphi 曾经开发的一款用于编写 linux 程序的编程软件)中的整个部件框架的官方术语,而VCL仅仅是一套部件子集,该部件子集为基于Win32 API的应用程序提供了可视的编程接口。
三、关于 Visul CLX
在Kylix中,Borland 引出了VisualCLX。VisualCLX是一套使用在跨平台图形应用程序中的部件子集。Qt 来自于 TrollTech 公司的类库,在VisualCLX中被使用来作为图形API。在高层次上,VisualCLX 控件的接口和 VCL 控件的接口保持一致。CLX支持编写同样的代码来同 VCL 和 VisualCLX 的属性、方法和事件驱动进行沟通。
二、两者的主要区别
1、VCL 主要应用于 windows 平台,开发原生 windows 程序,基于 Windows API 等 windows 底层支持环境。
CLX 的出现,其目的是提供 Linux 应用的开发,在 Linux 平台上运行,以 Qt 库为底层支撑。
2、从应用角度来说,由于架构不同,VCL 的组件库 与 VisulCLX 的组件并不完全相通,部分组件只在特定的平台上有,组件特性也并不完全一致。