The new compiler DOES support these constructs. Your sure you compiled the new compiler and moved it over your current one? Do a ppc386 -i (That's the letter I as in "I"nformation). See if it displays today's (or yesterday's) date.
Let us know what it displays.
Shane
>> 01/18/00 09:27PM >>>
No problems with compiler, rtl, fcl, packages apart from some toplevel makefile problems but compiling in lower directories seemed to cure all makefile errors.
Problems found with CVS clean checkout of lazarus, lcl only compile.
1: Pascal Construct in vclglobals.pp and lcllinux.pp
Error reported:
lcllinux.pp(58,14) Error: Illegal expression
lcllinux.pp(58,14) Error: Error in type definition
lcllinux.pp(58,14) Fatal: Syntax error, ; expected but identifier LONGWORD found
Offending code:
HDC = type LongWord;2: Construct in forms.pp
Error reported:
forms.pp(114,71) Fatal: Syntax error, ; expected but identifier ISFORM found Offending code:
property OnClose: TCloseEvent read FOnClose write FOnClose stored IsForm; other code also has stored attributes problems.
After spending a few hours trying to comment out all illegal contructs etc I came to the conclusion that the compiler is not supporting a lot of the language constructs being used.
Compiling the compiler from the CVS sources was no problem so I presume I have the latest and greatest compiler. Looking through the FPC manuals I could find no reference to the above constructs, so I presume they are new in some version of the compiler somewhere. Also I noticed {$mode objfpc} switch, again with nothing to tell me what this does, though I have not grepped the compiler sources yet for this.
The shear number of errors encountered trying to comment out code just to get it to compile was too great and I eventually came up against the usage of the foo = type bar temp fix I made which was to get rid of the word type. Of course further down the chain some modules did not like type
foo = bar;
so I have now ground to a halt.
If anyone could help me just getting the sources to compile, then maybe I can start to help a little.
One thing I noticed in the vclglobals is
THandle = Integer;
hwnd = THandle;
TCaption = string;
//TMessage = Pointer;
HMENU = type Longword;
HPEN = type Longword;
HBitmap = type Longword;
would it not be better to define all handles as THandle, make it much easier for the future?
Many thanks
Peter.
