delphi - 使用Delphi,无法使用匿名类型作为记录类型?

标签 delphi anonymous-methods

我不明白为什么以下小型控制台应用程序无法编译:

program Project1;

type
  TProc = reference to procedure;

  TMyRec = record
    Proc: TProc;
  end;

var
  myProc: TProc;
  myRec: TMyRec;

begin
  myProc := procedure begin writeln; end;
  myProc; // compiles fine
  myRec.Proc := procedure begin writeln; end;
  myRec.Proc; //E2014 Statement exptected, but expression of type 'TProc' found
end.

最佳答案

您必须添加括号来表明您正在调用该过程;即,

myRec.Proc();

关于delphi - 使用Delphi,无法使用匿名类型作为记录类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7788113/

相关文章:

python - 在 Python 中动态分配函数实现

database - Delphi XE8 中没有 TTable 组件

ios - 从 Delphi XE 在 iOS 上播放 MIDI - 5

delphi - 如何在本地计算机上嗅探/监听 HTTP?

c# - 如何在匿名方法中使用 LINQ 获取单列

c# - 使用匿名方法的例子和缺点

ios - 注册 Delphi 应用程序以处理 iOS 上的文件类型

sql - 对 ADO 参数使用 ParseSQL 命令导致参数数据类型无效

vb.net - 使用 List(Of T).ForEach 方法更新值未按预期工作

javascript - Javascript 匿名函数内部的作用域