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

2008-04-09 04:25:52来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

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就无能为力了)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Delphi 8 for .net 第一时间 之 预览篇

下一篇:delphi7从入门到精通之(一)