[fpc-pascal] get class of procedure variable

Michael Van Canneyt michael at freepascal.org
Fri May 29 09:15:25 CEST 2020

On Fri, 29 May 2020, Ryan Joseph via fpc-pascal wrote:

> In the example below "callback" is assigned to a method of "obj", but is it possible to get the class back from the variable? In the pseudo code I would expect .GetClass to return "obj". I think "of object" must be a record which keep both the class and method pointer but I don't know how to access it.
>  type TCallback = procedure of object;
>  var
>    callback: TCallback;
>    obj: TObject;
>  begin
>    callback := obj.SomeMethod;
>    // get the class which callback is assigned to
>    if callback.GetClass = XXX then

I think what you're looking for is:

if TMethod(CallBack).Data=XXX then


More information about the fpc-pascal mailing list