Thanks, but wouldn't soFromCurrent be the same as LStart as LStart is the current position - since the line before it is LStart := AStream.Position; ?
No, you misunderstood the origin parameter, itis only supposed to be constants soFromBeginning, soFromCurrentg or soFromEnd. It probably defaults to one of these if the value is incorrect.