On 26 Sep 2012, at 07:58, Vincent Snijders wrote: > 2012/9/25 Bernd <[email protected]>: >> 2012/9/25 patspiper <[email protected]>: >>> procedure test; >>> begin >>> Move(MyClass1.Ref.Data^, MyClass2.Ref.Data^, 1); >>> end; >> >> and if you cast it to some other pointer type before dereferencing the >> error goes away: >> >> procedure test; >> begin >> Move(MyClass1.Ref.Data^, PByte(MyClass2.Ref.Data)^, 1); >> end; >> >> But this should not be necessary. > > Why not? The error is correct. By using the type cast you tell the > compiler you know what you are doing and that is should not bother > doing the sanity check.
If that were true, then using a local variable that is an untyped pointer would also have to fail. It is in fact a compiler bug. Jonas_______________________________________________ fpc-pascal maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-pascal
