【发布时间】:2014-07-21 13:10:04
【问题描述】:
如果你喜欢使用方法的指针作为参数,你需要将方法type 设置为function of object 这样工作好:
type TAcceptor = function(filename:string):boolean of object;
function acceptor(filename:string):boolean;
begin
result := filename <> '';
end;
如果你喜欢使用子方法的指针怎么办?它不起作用:
procedure TForm1.Button1Click(Sender:TObject);
function acceptor(filename:string):boolean of object;
begin
result := filename <> '';
end;
begin
end;
发生错误:; expected but OF found!
问题:有没有子函数指针?可以投吗?
【问题讨论】:
-
您问题中的代码无法编译。您不能在函数定义中写入对象。
-
@DavidHeffernan 你是对的,我更新了代码。
-
肯定报错是因为语法错误;代码示例与提出的问题无关,或者我不明白实际提出的问题。
-
@user246408 David 不是指 2.snipplet,他提到了 1.snipplet,我写的第一个 snipplet
works good是无效的。检查编辑历史以了解 1.snipplet 不起作用的原因。 David 确实很好理解 2.snipplet 仅用于了解我尝试做什么,并且他明白 2.snipplet 从未声称可编译。