[lazarus] Problems

Peter Dyson peter at skel.demon.co.uk
Tue Jan 18 22:27:44 EST 2000



 
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. 
 




More information about the Lazarus mailing list