大佬教程收集整理的这篇文章主要介绍了在Delphi中如何传递函数作为参数?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个记录定义,函数定义为一个公共类参数,如:
TMyRecord = record public class function New(const a,b: Integer): TMyRecord; static; function GiveMeAValue(inputValue: Integer): Single; public a,b: Integer; end;
该功能可以是:
function TMyRecord.GiveMeAValue(inputValue: Integer): Single; begin RESULT := inputValue/(self.a + self.b); end;
然后我希望定义一个调用类函数GiveMeAValue的过程,但是我不想将整个记录传递给它.我可以这样做,例如:
Procedure DoSomething(var1: Single; var2,var3: Integer,?TMyRecord.GiveMeAValue?); begin var1 = ?TMyRecord.GiveMeAValue?(var2 + var3); //Do Some Other stuff end;
如果是这样,那么如何正确地传递函数作为过程参数?
TGiveMeAValue= function(inputValue: Integer): Single of object;// this definition works fine for methods for records.
然后定义DoSomething方法
Procedure DoSomething(var1: Single; var2,var3: Integer;GiveMeAValue: TGiveMeAvalue); begin writeln(GiveMeAValue(var2 + var3)); end;
并使用如此
var L : TMyRecord; begin l.a:=4; l.b:=1; DoSomething(1,20,5,l.GiveMeAvalue); end;
以上是大佬教程为你收集整理的在Delphi中如何传递函数作为参数?全部内容,希望文章能够帮你解决在Delphi中如何传递函数作为参数?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。