This make it compile. Dunno if it is what you wanted.

Code:
TOnChange = procedure(var I:integer) of object;
But I have no idea if this is what you meant and if it is what you want. (this is getting a little too complex for me :scratch: )