[lazarus] Problems

Shane Miller SMiller1 at stvgb.org
Wed Jan 19 09:04:39 EST 2000


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


>>> peter at skel.demon.co.uk 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. 







More information about the Lazarus mailing list