请问这种声明的格式什么意思 TAbc=Procedure(AParam:String) Of Object; 请问这种声明的格式什么意思 TAbc=Procedure(AParam:String) Of Object; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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;implementationprocedure 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源码。 知不知道函数指针的问题。C++中有函数指针,Delphi里面也有函数指针。函数指针的申明要体现函数返回参数以及形式参数的类别!Delphi把函数指针发展到过程指针!伟大!类似与C++中指向void 类型的函数指针。好好学习基础知识! 声明类型TAbc是Procedure(AParam:String) Of Object; 格式以后var aa:TAbc;aa('aString');会执行这个过程。 http://community.csdn.net/Expert/topic/4136/4136116.xml?temp=.9039575 一条sql语句 高手请指点迷津,送50分!! 如何获得主机名 求助Activeform问题! 如何获得Set(集合)中的个数和枚举集合中的元素?急!!! 谢谢chons(琼(不再犹豫)) 非常简单的Excel控制问题,就一句话!请帮忙! 找人开发一个很小的程序,高分 这个循环怎么会出错呢?请大家帮忙看看! 一个关于待待的问题,帮个忙行不,真的好急 如何等待所有的程序關閉後才執行... 那里有带画布的panel
这一般在写控件时用到
如:
type
AControl = class(TButton)
private
FProc: TAbc;
FParam: String;
protected
procedure Click; override;
published
property MyProc: TAbc read FProc write FProc;
end;
implementationprocedure 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源码。
C++中有函数指针,Delphi里面也有函数指针。
函数指针的申明要体现函数返回参数以及形式参数的类别!
Delphi把函数指针发展到过程指针!伟大!
类似与C++中指向void 类型的函数指针。
好好学习基础知识!
TAbc
是
Procedure(AParam:String) Of Object;
格式
以后
var aa:TAbc;
aa('aString');会执行这个过程。