IMHO there is absolutely no case where absolute is a good idea. If Access to the same memory is required, variant records and/or (pointer) casting is always preferential, as it archives the same effect, while 1. being more verbose about what is actually happening here and 2. performs error checkingIt isn't my intention to be argumentative but, there are occasions where "absolute" is a better choice than typecasting. Some of the examples that come to mind include:
About 2 and 3, what I like to do is to simply define them with the "correct" pointer type and typecast the function pointer when providing the callback parameter
All that said, I completely agree that someone who doesn't understand what absolute does would be very wise to stay away from it.
What makes this typecast better than using absolute?The compiler perfroms error checking on typecasts, see the example from above. or do you mean in this specific circumstance, there it shifts the conversion from the declaration of the function to the use point, making the function itself cleaner and easier to understand
Wouldn't it be better to learn what absolute does and use it appropriately?Yes, it would but, until they do that, they should probably stay away from it. ;)