随笔 - 1656  文章 - 26 评论 - 6695 trackbacks - 253

提示1: 点击 标题 可进入首页;   提示2: 从搜索引擎中搜索 万一 可迅速找到这里.

随笔分类(1869)

随笔档案(1584)

积分与排名

  • 积分 - 1728138
  • 排名 - 10

最新评论

  • 1. Re:Delphi 的接口(3) - 关于接口的释放
  • LS的方法不行,可能我D6的原因??? ------------------------------ 万一:接口计数等三个_a开头的函数在什么情况下需要实现?问题怎么理解?如何释放,避免内存泄漏? -...
  • --vivi007
  • 2. Re:博客导读(09.5.15)
  • 万老师我用delphi Ado连接数据库 有的2000系统下连接不上SQL服务器. 什么原因? XP和XP以上的版本都可以都可以 我在连接不上SQL的系统下装SQL Server2000都失败.
  • --席思勇
  • 3. Re:博客导读(09.5.15)
  • 万老师我用delphi Ado连接数据库 有的2000系统下连接不上SQL服务器. 什么原因? XP和XP以上的版本都可以都可以 我在连接不上SQL的系统下装SQL Server2000都失败.
  • --席思勇
  • 4. re: 太忙了
  • 万老师可能在寫書吧!
  • --fengiau
  • 5. re: 博客导读(09.5.15)
  • 万老师: DELPHI如何操作COOKIE? Doc:=Webbrowser1.Document as IHTMLDocument2; //将Webbrowser1.Document转化为IHTML...
  • --feiyangdel
  • 6. re: 博客导读(09.5.15)
  • 万老师: DELPHI如何操作COOKIE? Doc:=Webbrowser1.Document as IHTMLDocument2; //将Webbrowser1.Document转化为IHTML...
  • --feiyangdel
  • 7. re: WebBrowser 操作记要
  • 请问如何解决跳转多个页面导致占用内存居高不下?free掉也不行
  • --flyfly
  • 8. re: Delphi 正则表达式起步
  • 关于pcre3.dll的问题,在它的官网第二段文字有介绍There are many PCRE-based VCL components available. Most are free, some ...
  • --wuyu
  • 9. re: 学习使用资源文件[7] - 字符串资源
  • 老师好
    我先问下,如果把资源文件放到DLL中,用LoadStr如何得到字符串呢?
    谢谢
  • --全球唯一
  • 10. re: 太忙了
  • 万老师,最近挺忙啊。几乎天天看你的博客,好久没看到您的新帖了,期待
  • --ahgan2007
  • 11. re: ^ 符号的特殊用法
  • 请问 &号怎么在delphi中正常使用? showmessage('&&&&&&'); 有6个'&'结果只显示3个'&'...
  • --很小很白菜
  • 12. re: UniCode 速查表
  • 我在做根据汉字的拼音首字母查询汉字时,碰到同样是以'Z'开始的深圳的'圳'字不能被查找出来,这是什么? function TForm1.GetPYIndexChar( hzchar:string)...
  • --hmzz
  • 13. re: 辛苦而有价值的一天!
  • 万老师,麻烦给传一份WinAPI 参考资料吧,,的资料下载不了 leep1984@163.com...
  • --leep1984
  • 14. re: 如何把窗体关闭到系统托盘 - 回复 "三足乌" 的问题
  • @freda

    你用的什么版本的Delphi啊?我测试万老师的代码没有问题。我的环境是:Delphi2006+Windows Xp sp3
  • --ibetter
  • 15. re: 系统托盘组件 TTrayIcon 简介 - 回复 "三足乌" 的问题
  • @u9cm

    我记得好象在控件的MouseDown事件中给控件加入csDesigning风格可以实现。没验证,自己试试吧
  • --ibetter
  • 16. re: 系统托盘组件 TTrayIcon 简介 - 回复 "三足乌" 的问题
  • @lidou310 我先替万一老师给你个解决办法: 你的可以把BDE的组件打包到你的程序中,可以只打包你使用的数组组件。这是使用BDE的一点遗憾。你可以在网上搜索一下,很容易实现。不需要改动程序。只...
  • --ibetter
  • 17. re: SysUtils.FmtStr、SysUtils.Format - 格式化输出
  • 万老师,你好,问一下FORMAT的作用是什么?
  • --loooool
  • 18. re: 太忙了
  • 万老师,你好啊。
    好长时间都没露脸,我还以为你上北京了。
    希望看到你的新帖
  • --三足乌
  • 19. re: 博客导读(09.5.15)
  • 万老师: 我用Delphi写了个IE的工具栏程序。编译注册后显示颜色和系统当前的样式不太一样(系统是XP样式,左浅右深渐变。我的工具栏却是灰色的底色,按钮的样式也不是XP样式),请问一下是不是要继承什...
  • --逆絮飞扬
  • 20. re: 博客导读(09.5.15)
  • 万一老师您好:我使用的环境是Windows XP + DELPHI7 + Office2003 来操作EXCEL 1:我还要把数据集的某一列导入到EXCEL某一列单元格所对应的名称上(不是单元格里的值...
  • --delphiup
//把一个方法当作另一个方法的参数, 就是回调方法, 大家习惯称作回调函数

type
  TFunType = function(i: Integer): Integer; {声明一个方法类型}

function MyFun(i: Integer): Integer;        {建立类型兼容的函数}
begin
  Result := i*2;
end;

{把函数当作参数, 再定义一个函数}
function MyTest(x: Integer; F: TFunType): Integer;
begin
  Result := F(x);
end;


{测试}
procedure TForm1.Button1Click(Sender: TObject);
var
  Fun: TFunType; {声明一个 TFunType 的变量}
  i: Integer;
begin
  Fun := MyFun;  {让方法变量 Fun 指向和它类型兼容的一个方法}

  {测试 Fun; Fun 是一个方法变量, 现在去执行那个方法, 它就可以当作那个方法来使用了}
  i := Fun(4);
  ShowMessage(IntToStr(i));  //8

  {把 Fun 当作参数使用; 把函数当作参数使用, 这就是回调函数}
  i := MyTest(4,Fun);
  ShowMessage(IntToStr(i));  //8
end;

posted on 2008-01-15 11:37 万一 阅读(1273) 评论(3)  编辑 收藏 网摘 所属分类: 15.类相关

FeedBack:
#1楼 2008-08-02 16:08 666[未注册用户]
555555
  回复  引用    
万老师,您好!
请问方法类型是不是主要用在回调函数中呢。如果不是这样的话,那么方法类型的主要用途是什么呢?请赐教,谢谢。

  回复  引用    
#3楼[楼主] 2008-12-19 16:21 万一      
@wd_Legend
我所知道的两种可能的应用, 上面都有例子.
另可以参见:
http://www.cnblogs.com/del/archive/2008/08/15/1268301.html" target="_new">http://www.cnblogs.com/del/archive/2008/08/15/1268301.html

  回复  引用  查看    



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1039476




相关文章:

相关链接: