请教一个关于方法指针的问题
type
TSampleFunctionType = function(iParam: Integer; fParam: Double): Boolean;
procedure xxxx;
var
ASampleFunction: TSampleFunctionType
begin
...
if Assigned(@ASampleFunction) then
ASampleFunction(....);
end;
ASampleFunction作为一个局部变量,而且是一个指针,那么@ASampleFunction代表是这个指针的地址。问题:
1 申请时就已经有地址了,为什么还要判断Assigned(@ASampleFunction)?
2. ASampleFunction指向何处?
请明白人赐教,确实不懂,真心求教!
[解决办法]
Assigned(@ASampleFunction)
其实是
Assigned(ASampleFunction)
因为ASampleFunction是函数指针,直接使用可能是执行此函数,所以加@以示区分
[解决办法]