Mmmm...
Ok, ok. Interesting (both above).

Well, unfortunately, I tried using the '^' as Paul suggested with the 'Delphi Compatible' box ticked, without it ticked, ticked and without the '^', unticked and without the '^'. In other words, all the combinations of those two. In vain.

What I think, however, is that the problem is actually with the X variable, because the compiler says 'Unknown record field identifier X', so maybe it's not struggling with dereferencing, but with finding the right variable, right? I can't check because I don't know where 'TSDL_Surface' is defined, but couldn't that be the problem? Although it's true it seems to be working for you (Savage) just the way it is... :scratch:

Maybe if it's really something I have to do with the compiler, maybe Will could help? He seems to know Lazarus very well. How do I ask him to have a look at this thread?

Well, anyways, thanks so much for the time!