手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

Delphi 8 for .net 第一时间 之 分析篇

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

Delphi 8 for .net 第一时间 之 分析篇

_________________________________________________________________________

本文章只是作者这两天试用D8并对VCL.net源码稍微查看了一下,作出的一些分

析判断,时间水平有限请见谅 cocoboy79#163.com qq:364941)

下文中:D7代表基于Win32版本的Delphi,D8代表Delphi 8 for .net

__________________________________________________________________________

一直在使用Delphi编程,也一直关注.net技术。又是时代变化的时候了,VCl.net对于我们来说是一个完美的.net解决方案么?还是用于过度的桥梁?,如果你和我一样使用Delphi,那么我们是时候思考一下如何利用现有的Delphi技能更快的搭上.net快车。下面是这两天稍使用了一下Delphi8而总结一点东西,共同分享,共同思考。

TList:
我们都知道TList实际上是一个功能强大的地址列表,这种数据结构非常有用。对于一个在D7中的TList的实例来说,这个地址列表中每一个项目(Item)是一个Pointer类型,你可以像下面程序一样,把对象变量或是一个值类型的指针(比如一个指向Record型的指针变量)存放到里面,在需要时取出来,并可以进行运行期类型转换。
var
myList:TList;
myLab:TLabel;
i:integer;
begin
myList:=TList.Create;
for i:=0 to 10 do
begin
myLab:=TLabel.Create(self);
myLab.Parent:=Self;
myLab.Caption:=''''这是第 '''' IntToStr(i) '''' 个'''';
myList.Add(myLab);
end;
for i:=0 to myList.Count-1 do
begin
ShowMessage( TLabel(myList.Items[i]).Caption );
end;
end;

在.net中你也会找到与之相像的一个东西,它就是.net中的ArrayList(System.Collections.ArrayList),我在大概看了一下发现ArrayList可以说是
TList的一个增强,唯一不足的就是它不开放源码,我们没办法看到是如何实现的。而且我们会发现D8中的TList的实现也与ArrayList有关。 

让我们来稍微看一下D7与D8中TList的源码的声明吧,(整个类声明请查看D7,8的TList源码,对于不开源的ArrayList就无能为力了)

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!