Adriaan van Os wrote: > 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. >
We could implement such a comparisation based on rtti ... _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal