我有一个类(TExample),我想要一个指向 TExample 方法的指针数组。例如,我想要 TExample.ThinkOne 并做 aPointers[1] := @TExample.ThinkOne 或类似的东西。我怎样才能正确地做到这一点?谢谢。
问问题
2284 次
1 回答
2
你可以这样做:
type
TProcType = procedure(const AParm: Integer) of object; // Method type
TProcArray = array of TProcType; // Dynamic array
TExample = class
public
procedure A(const AParm: Integer); // Method signature matches TProcType
procedure B(const AParm: Integer);
end;
var
pa : TProcArray;
procedure Init(const AExample: TExample);
begin
SetLength(pa, 2);
pa[0] := AExample.A;
pa[1] := AExample.B;
end;
于 2010-09-25T18:53:44.510 回答