小弟对delphi中的迷惑

hare007 2004-07-03 10:23:29
type
TMethod = procedure of object;
TNotifyEvent = procedure(Sender: TObject) of object;

还有

Tclass = class of Tobject;

本人Object-pascal没学好
...全文
549 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxf 2004-08-08
  • 打赏
  • 举报
回复
补充一下,如果不加of object,那就不是方法了,但同样是函数/过程类型的指针
tsst 2004-07-31
  • 打赏
  • 举报
回复
这有什么大惊小怪的!你看的书上难道没有相关的解释吗?
ly_liuyang 2004-07-30
  • 打赏
  • 举报
回复
去DelphiBox.com下载EBook回去慢慢研究了
Arockroll 2004-07-30
  • 打赏
  • 举报
回复
类的类,也就是元类
Linux2001 2004-07-26
  • 打赏
  • 举报
回复
函数指针而已,不过是成员函数指针!仅此而已,没有什么奇怪的,这样的指针类型可以指向所有参数表相同的类成员函数
bbdz 2004-07-17
  • 打赏
  • 举报
回复
type
TMethod = procedure of object;
TNotifyEvent = procedure(Sender: TObject) of object;
//上面两个都是方法类型,第二个带参数而已
Tclass = class of Tobject;
//这个是类引用,类引用就是指向该类VMT的指针
123amw 2004-07-14
  • 打赏
  • 举报
回复
type
TMethod = procedure of object;
TNotifyEvent = procedure(Sender: TObject) of object;
前面的这个是定义方法也可以说定久一个事件方法,只不过他是一个方法指针了



还有

Tclass = class of Tobject;
//这个是定义一个对象,也可以说引用,他有时在后面还会被其实的类进行重新定义的如:
Tclass = class of TLable;
Taken 2004-07-13
  • 打赏
  • 举报
回复
是Object Pascal中的方法类型,类似C中的函数指针。
Delphi中的事件就是通过这种机制实现的
iBear 2004-07-13
  • 打赏
  • 举报
回复
.... of object 这是delphi特有的,关于控件的事件处理方法的定义
julong88 2004-07-11
  • 打赏
  • 举报
回复
这是在定义一个事件
caoguanlei520 2004-07-08
  • 打赏
  • 举报
回复
很好呀,有空还是也多教叫我呀。
谢谢你给我的回复,我真的很高兴。早就听说这里有很多的好朋友,只要你遇到问题,你都可以请教的。我刚开始学delphi,所以很差的哦 。
哦对了,我过几天就要去北京打工了,现在在河南郑州,可以交个朋友吗?我叫曹冠磊,男,21岁。河南人。qq:82126776 emial:liukaiya815@163.com
有时间的话,你能多帮帮我吗?(如果你乐意的话,我想我们会成为好朋友的!)
我帮朋友管理的一个网站:明日网站:www.xingworld.net 有空去看看 哦:)
还有我的一个delphi方面的高手朋友,www.138soft.com 有兴趣的话,参观一下哦:))
IFindit 2004-07-08
  • 打赏
  • 举报
回复
同 shifan(Lothander) ( ) , 说得很清楚!
漠北刀客 2004-07-04
  • 打赏
  • 举报
回复
楼上说的很清楚了,再补充一下Tclass = class of Tobject;
就象1,2,3是Integer类型
2.0,3.454是Double类型
Button1是Tbutton类型一样
TButton,TForm也是一种类型,就是类的类型
这样说可以明白了吗?
shifan 2004-07-03
  • 打赏
  • 举报
回复
type
TMethod = procedure of object;
TNotifyEvent = procedure(Sender: TObject) of object;
TMethod表示一个过程,of object 表示这个过程是一个类的方法
TNotifyEvent同理拉,只是这个过程带有 Sender: TObject的参数

Tclass = class of Tobject;
TClass是一个“类的类”,如
procedure f(A:TClass);
var
r:TObject;
begin
r:=a.create;
......
end;
这样就可以将类型作为参数传入
如f(TObject),f(TStringList)等等
delphinus 2004-07-03
  • 打赏
  • 举报
回复
这就是过程类型。
ttoth12 2004-07-03
  • 打赏
  • 举报
回复
type
TMethod = procedure of object;
TNotifyEvent = procedure(Sender: TObject) of object;
这个是函数类型阿,和你的var i:integer差不多阿,一个是定义变量类型阿(integer)类型,还有一个是定义函数或者过程类型阿(这里是过程类型)阿!!TNotifyEvent 一个触发事件阿,
Tclass = class of Tobject;
这个是类引用阿!!这个是delphi的vcl类库在构造内部组件的使用当作rtti,运行时类型信息来使用的阿!!
飞天揽月 2004-07-03
  • 打赏
  • 举报
回复
帮你顶

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧