Show quoted text 26 lines
On Tue, Dec 23, 2003 at 12:22:14PM +0100, Mattias Gaertner wrote:
> On Tue, 23 Dec 2003 20:26:03 +1000 (James
> Mills) wrote:
>
> > Hi,
> >
> > I recently just grabbed the CVS sources and tried to compile lazarus:
> >
> > (gdb) run
> > Starting program:
> > /home/prologic/programming/temp/lazarus/lazarus/lazarus
> > TApplication.HandleException Range check error
>
> You compiled lazarus with range checking on. I added some explicit type
> casts. I don't know, how to fix all the range check warnings nice.
>
> For example, I need a type for the TStream.Size. Any ideas?
I compiled Lazarus with the default make options.
ie: make
I notice then that the default make options are with Range Checking on.
I will try and recompile with them turned off.
As for your question, I have no idea at this stange as I don't
understand the code well enough (but that may change) :)
Ok, that was a very short mail.
The range checking is probably from your global fpc.cfg. Range checking is a good thing and lazarus should run and compile fine, but it does not. :(
Most of the range check warnings comes from lines like
MyInteger:=AStream.Size;
Because TStream.Size is declared with ifdefs, it can be different types. It would help, if there would be a type for this. So, I can fix the range warnings without evil ifdefs.
I will add one to lcltype and hope that someday it can be replaced by something in the fcl/rtl.
THe otherthing is ColorRef. Is there any reason, why it is declared as cardinal?
Mattias