[fpc-devel]type <id> = type <another id>; support
Andrew Johnson
acjgenius at earthlink.net
Sun Oct 20 05:46:51 CEST 2002
Well. I posted to the bug list already, but since I saw this message in
the archives I figured I'd also post here. While trying to get lazarus
to work with 1.1 I discovered that this type of declaration causes
problems, specifically with TComponent's, it acts as though it
redeclares the <another id>, as <id> which kills compiling. I noticed
this specifically with longints, aka
type
TNewInt = type longint;
TNewClass = Class(TComponent)
end;
would cause the compiler to bomb out with
Compiling bugtest.pp
bugtest.pp(11,16) Error: overridden methods must have the same return
type: "TObject.SafeCallException(TObject,Pointer) : LongInt" is
overriden by "TComponent.SafeCallException(TObject,Pointer) : LongInt"
which has another return type
bugtest.pp(16) Fatal: There were 1 errors compiling module, stopping
however doing
type
TNewInt = type longint;
TNewInt2 = longint;
TNewClass = Class(TComponent)
end;
would work fine(at least, it compiles without error).
Andrew
More information about the fpc-devel
mailing list