I am getting an error "incompatible types in assignment" on Inc(CSPtr(c))
It seems the cast of the pointer inside the Inc procedure is confusing it. What is especially weird is that the case does not even change the type because!
{$x+} program testpas8;
type U8 = Cardinal attribute ( size = 8); U8Ptr = ^U8; CSPtr = U8Ptr;
var c: CSPtr; begin Inc(CSPtr(c)); end.
Note that the CSPtr type is required - changing the use to U8Ptr removes the problem.
Thanks, Peter.