On Sat, 13 Nov 2010, Sven Barth wrote:
Hello together!
I've installed FPC 2.4.2 and after reading the page about the changes since
2.4.0, I've compiled Lazarus and noticed a warning in imglist.pp regarding a
Equals method (already reported). Now I remembered that
http://wiki.freepascal.org/User_Changes_2.4.2#TObject_class_declaration
mentions that FPC warns in mode delphi, but generates an error in mode
objfpc. So I looked at the top of the unit, but did found "{$mode objfpc}".
Puzzled, I wrote the following test program:
==== source begin ====
==== source end ====
Compiling it with FPC 2.4.2 (and 2.5.1 as well) results only in warnings
regarding the methods Equals and ToString and not errors as expected after
reading the wiki.
So who is right?
a) the wiki (thus there is a bug in FPC - very bad, because 2.4.2 is already
released)
b) the compiler (thus the wiki is wrong)
The compiler is right. You can always re-introduce methods.
But if you call 'TObject.Equals', your (wrongly declared) method will not be
called.
Standard OOP inheritance/overriding rules.
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal