[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