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;

后续...

你可能感兴趣的:(Delphi)