请问这种声明的格式什么意思 TAbc=Procedure(AParam:String) Of Object;

do_taozi 2004-07-06 11:32:42
请问这种声明的格式什么意思 TAbc=Procedure(AParam:String) Of Object;
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
何鲁青 2005-07-11
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4136/4136116.xml?temp=.9039575
iamduo 2004-07-06
  • 打赏
  • 举报
回复
声明类型
TAbc

Procedure(AParam:String) Of Object;
格式
以后
var aa:TAbc;
aa('aString');会执行这个过程。
支持中文哦 2004-07-06
  • 打赏
  • 举报
回复
知不知道函数指针的问题。
C++中有函数指针,Delphi里面也有函数指针。
函数指针的申明要体现函数返回参数以及形式参数的类别!
Delphi把函数指针发展到过程指针!伟大!
类似与C++中指向void 类型的函数指针。
好好学习基础知识!
RaulWhite 2004-07-06
  • 打赏
  • 举报
回复
Procedure(AParam:String) Of Object 这是一个类方法,

TAbc 方法指针:也即方法类型 如同String integer;
这一般在写控件时用到
如:
type
AControl = class(TButton)
private
FProc: TAbc;
FParam: String;
protected
procedure Click; override;
published
property MyProc: TAbc read FProc write FProc;
end;
implementation

procedure AControl.Click;
begin
inherited;
if Assigned(FProc) then
FProc(FParam);
end;

这里如果 Procedure(AParam:String)而不是Procedure(AParam:String) Of Object 则不能通过编译
而有了TAbc这个方法类型 我们就可以这样写了
property MyProc: TAbc read FProc write FProc;


建议看一下VCL源码。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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