I doubt this is in any way elegant but, IMO, the easiest is to convert the address of a method of a class to a procedure address and pass it to the winapi. Sure, it's a hack, but the VCL does the very same with classes.MakeObjectInstance
, if only for a specific construct.. See this question for a source for this kind of implementaion and some other, more OO ways to handle the situation.