Delphi 函数的内部函数在匿名回调函数中无法使用的一种解决办法
这个问题很简单,将对应的函数改写赋值到一个匿名函数变量即可。
function test; function add(x,y:Integer):Integer; begin Result:=x+y; end begin ... end
上面的代码改写成:
type TfnAdd=reference to function (x,y:Integer):Integer; function test; var add:TfnAdd; begin add:=function add(x,y:Integer):Integer; begin Result:=x+y; end; ... end
然后在后面的直接调用 add 即可。