Delphi and Turbo Pascal allow pointer indirection to be dropped in some (or perhaps all?) contexts, in this case the
Result^.URIAs in the definition, Result is of type PPImageCacheItem which when expanded becomes ^^TImageCacheItem, so actually it has to be Result^^.URI. Luckily, Free Pascal's Delphi compatibility mode ({$mode delphi} in source or -Sd in command line) accepts this. So as Marco said, please try enabling that.