[fpc-pascal] Records

Adriaan van Os fpc at microbizz.nl
Wed Oct 26 08:31:03 CEST 2005


Carsten Bager wrote:

> We are moving a lot of code from an old platform where it is
> allowed to compare 2 records like this.
>
> Type
>   A_typ=array[0..3] of integer;
> Var
>  A1,A2:A_typ;
>
> Begin
>   If A1=A2 then
> End;
>
> I know that I can typecast to an array of char to compare but
> is there an easier way.
>
> ---
>
> I have never could understand when this is allowed
> A1:=A2;
>
> Why this is not allowed
> If A1=A2 then
>
> in most Pascal compilers.

Because you can't simply compare the memory ranges occupied by records 
A and B. They could have different pad bytes (and bits) but still be 
the same. Therefore, implementation is non-trivial. For the same 
reason, the above typecast is incorrect.

Regards,

Adriaan van Os




More information about the fpc-pascal mailing list