[fpc-pascal] Records
Florian Klaempfl
florian at freepascal.org
Wed Oct 26 09:24:43 CEST 2005
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 ...
More information about the fpc-pascal
mailing list