cobines wrote: > everything is ok. But I can also assign it using class name: > > CM.Callback := TContextMenu.ContextMenuSelect; >
This is the way it's supposed to work in delphi mode, as far as I remember Delphi allows it (disclaimer: I don't have Delphi now to check, but it used to be so around Delphi 7). This has actually one useful feature: when ContextMenuSelect is a "class procedure", this is a safe and valid operation (class procedures can be safely called by only a class reference, that's their point after all). In objfpc I achieve the same by the unclean trick "CM.Callback := TContextMenu(nil).ContextMenuSelect;" Unfortunately, the way it's implemented in delphi, it also allows this very unsafe assignment when ContextMenuSelect is a normal (not class) method. Michalis _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal