[fpc-pascal] Get TMethod from function reference
Hairy Pixels
genericptr at gmail.com
Mon Sep 19 16:15:50 CEST 2022
> On Sep 19, 2022, at 4:17 PM, Sven Barth <pascaldragon at googlemail.com> wrote:
>
> === code begin ===
>
> Proc1 := @c.OnChange;
> Proc2 := @c.OnClick;
> Proc3 := @c2.OnChange;
>
> === code end ===
>
> Will result in the following capture object:
>
> === code begin ===
>
> type
> TCapturer = class(TInterfacedObject, TProc1, TProc2, TProc3)
> m1: TNotifyEvent;
> m2: TNotifyEvent;
> m3: TNotifyEvent;
>
> procedure Anonymous1(Sender :TObject); //will call m1
> procedure Anonymous2(Sender: TObject); // will call m2
> procedure Anonymous3(Sender: TObject); // will call m3
> end;
>
> === code end ===
>
Interesting, so all reference assignments in a scope generate a single TCapturer? Yeah that makes what I want impossible unless specific support was added to get back one of those fields.
So I guess I need to make a record wrapper for the reference stores the target class. Thankfully you fixed that crash so I can do this now. :)
Regards,
Ryan Joseph
More information about the fpc-pascal
mailing list