Delphi指向函数指针的指针

type
TFunc=procedure;
procedure MyFunc;
begin
ShowMessage('Run my func');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
ptr:Pointer;
func:TFunc;
begin
func :=  MyFunc;
func; //ok
ptr := @@func;  //误写作ptr := @func;报内存访问错误
TFunc(ptr^);
end;

 但是这样也可以:

procedure TForm1.Button1Click(Sender: TObject);
var
ptr:Pointer;
func:TFunc;
begin
func :=  MyFunc;
func; //ok
ptr := @func;  
TFunc(ptr);
end;

后续...

原文地址:https://www.cnblogs.com/findumars/p/3750698.html