[fpc-pascal] How to get the offset of a record

Jonas Maebe jonas.maebe at elis.ugent.be
Sat Apr 30 15:16:08 CEST 2011


On 30 Apr 2011, at 14:30, Rainer Stratmann wrote:

> In Turbopascal it was possible with offs()
> 
> type
> rectype = record
>  var1 : longint;
>  var2 : longint;
>  var3 : boolean;
> end;
> 
> var
> o : longint;
> recvar : rectype;
> 
> o := offs( recvar.var1 );  // --> 0

That's incorrect. In TP, Ofs(recvar.var1) (with one "f") returns the offset in the segment that contains the "recvar" variable. It does not return the relative offset of the field inside the record type.


Jonas


More information about the fpc-pascal mailing list