======================================================
注:本文源代码点此下载
======================================================
#3楼 2008-09-01 17:44 bincom[未注册用户]
看不出来哪些地方需要这样用
回复 引用
#4楼 2008-09-05 17:59 aaaaaa[未注册用户]
很不错的功能,赞一个
回复 引用
#5楼 2008-09-18 18:15 ijacker[未注册用户]
这个功能太重要了,在写框架的时候肯定是要用上的,特别是在使用模式的时候。
api函数调用中很多的时候就需要传入参数,而这个参数又恰恰必须是一个过程的指针。
设想你有很多个函数,客户端调用的时候把过程指针传入,就可以自定义处理数据的方法。
上面的例子中就有这种效果。
回复 引用
#6楼 2008-09-20 22:14 5207
感觉和c#的委托很像!
只不过感觉就是个函数指针,我还是理解的不是很彻底!继续学习
回复 引用 查看
#7楼 2008-10-09 13:16 delphi2009初学者[未注册用户]
如果参数被指定为匿名方法,哪么这个参数还能接受正常函数的函数名么???
回复 引用
#8楼 2008-10-26 21:36 codehunter[未注册用户]
这个东西说白了就是一个匿了名的函数指针,有了这个功能,能提高代码的可读性,这是我的理解。。。
回复 引用
#9楼 2009-03-25 05:58 prz[未注册用户]
匿名方法有一个重要的特性没有提到:本地变量的自动捕获 (closure).
匿名方法在声明的时候可以使用本地变量, 编译器将自动捕获这个变量, 并通过引用计数管理, 不需要再写任何代码.
可以用来实现参数的包裹. 比如有一个过程:
procedure printtext(from, message: string);
begin
writeln(from+' say '+message);
end;
那么可以如下包裹:
type
tprintmessage = reference to procedure (message: string);
function makesayproc(who: string);
begin
result:= procedure (message: string)
begin
printtext(who, message);
end;
end;
var
yousay, isay: tprintmessage;
begin
yousay:= makesayproc('you');
isay:= makesayproc('i');
yousay('hi');
isay('low');
yousay('yes');
isay('no');
yousay('stop');
isay('go go go~~');
end.
输出结果:
you say hi
i say low
you say yes
i say no
you stop
i say go go go~~
回复 引用
#10楼 2009-05-13 23:09 乌龙哈里
prz的例子好过瘾,我也敲了一遍,果然如此,能不能深入点说说实现原理,我上网查了很多,都是c#的例子,看不懂。
而且程序上看起来像绕口令,麻烦讲讲。
拜托了。
另外:
function makesayproc(who: string); 是不是要改成
function makesayproc(who: string):tprintmessage; 要不编译通不过
回复 引用 查看
#11楼 2010-04-21 15:19 林lin☆☆
请问:
在第一个例子中,如果mysqr是一个类中的方法要怎么弄啊?
回复 引用 查看
#12楼[楼主] 2010-04-21 16:04 万一
@林lin☆☆
给你做了例子, 在:
http://www.cnblogs.com/del/archive/2010/04/21/1717315.html
回复 引用 查看
注册用户登录后才能发表评论,请 登录 或 注册,返回博客园首页。
最新it新闻:
·ios 5.1 beta3文件预示未来 siri有可能支持 ipad和 ipod touch
·android平台12月广告浏览份额51.6% 超越ios
» 更多新闻...
最新知识库文章:
copyright ©2012 万一 powered by: 博客园 模板提供:沪江博客
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/