【中华硕博网-全球500所高校指定报名中心】
【在职研究生】 【在职博士】 【MBA/EMBA】
  您现在的位置: 中华硕博网 > 论文中心 > 理工论文 > 计算机论文 > 文章正文
站内搜索:

酒杯上的碟

作者:硕博网    文章来源:中华硕博网    点击数:    更新时间:2008-5-3
中华硕博网(http://www.china-b.com)全球500所高校指定报名中心--酒杯上的碟

交叉平台控件(Cross-platform Controls)
从windows到Linux,或者相反


Borland处在一个令人兴奋的时期.并不是自从delphi--这个Borland的令人兴奋的产品的第一声.我正在谈论的当然是关于Kylix,这个把C++Builder和Delphi带到Linux操作系统的项目.Delphi版本将首先面世,所以在本文余下部分,Kylix指的是Delphi for Linux.

我们正在为Delphi开发崭新的能够在Windows和Linux下工作的VCL.这意味着你可以在windows下写一个应用程序,然后把源代码转移到Linux下面重新编译--反之亦然.这个新的VCL叫CLX,意即"交叉平台控件库(Component Library Cross-Platform)",CLX包含整个随Kylix发布的交叉平台库.在我写本文时它被分为下面四个子类:


BaseCLX就是RTL,包含并且升级了Classes.pas
VisualCLX包含了用户界面类,比如常用的控件
DataCLX包含交叉平台的数据库控件
NetCLX包含Internet部分,比如Apache等等..

在我写这篇文章的时候(2000年5月之前),Kylix的第一部分测试已经正在进行了.当你读到这篇文章的时候,我正在使用的Kylix和你将要看到的正式版本将会有很大不同.这为我的工作带来很多不便.是简单地谈一谈便罢?还是涉及一下底层的结构?我更倾向于详细的讨论,这样无论如何你能得到一点关于CLX控件构造的头绪.但是要牢记一点: 当你阅读此文的时候,很可能这篇文章中很多细节的讨论已经改变了.

没有更接近的了(No One Else Comes Close)

这篇文章是关于写定制VisualCLX控件的初级读本.从本质上说,VisualCLX就是你所知道并热爱的VCL.当你这样认为的时候,"可视构件库"(Visual Component Library)有一点用词不当:还有比"可视构件"更多的东西.但是在这篇文章里面,我只谈论"可视"控件.类似Button, Edit, ListBox, PageControl, StatusBar, ProgressBar等等的控件,都已经在交叉平台下重新实现.但是目前的VCL如此依赖Windows,我们是怎么做到这些的呢?简单地说,我们剥离了所有的Windows元素,然后把它们用别的工具包(toolkit)代替.

在Linux下,有大量的工具包包含标准windows控件(如Buttons).它们被称做"widgets".其中GTK和Qt(被发音成"cute")就是两个非常流行的.Qt是一个工作在windows和Linux下的widgets,因为它非常接近我们的目标,所以Qt被选择作为CLX的基础.换句话说,Qt和CLX就好像Windows API/通用控件和VCL的关系.对于Linux下的Delphi的定制构件开发者来说,Qt有一些明显的好处:


它是一个广泛使用的Linux下的widgets集,被流行的KDE桌面采用.
它的开发和Windows API风格非常相似
它的图形模块和VCL的图形模块相似
它的类看上去非常像VCL控件
它引入大量标准widgets,并且具有消息

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

 相关热词搜索