Re: [Lazarus] Verdict of Lazarus 0.9.29

2010-10-22 Thread Graeme Geldenhuys
Op 2010-10-21 19:34, Martin het geskryf:
 Well I didn't invent it, so I don't know it's original intend.
 
 But tabs (or rather the tab key, producing a sequence of spaces) are not 
 only used for indent (as in indent at the start of line)

This brings me to my next question (see the fpc-devel mailing list too). If
my source code only contains tab( #09) characters, and not spaces, it
results in a much smaller file size. Does that also translate to FPC being
able to parse that source code faster (less characters to parse), and does
that also translate to the SynEdit component working faster (again, less
characters to process)?

Some form of speed test to compare the difference should be interesting. :-)



Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net:8080/fpgui/


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] fpweb - SessionDir bug?

2010-10-22 Thread patspiper

On 10/21/2010 11:03 PM, ABorka wrote:

It works here.
I am also using session cookies from fpweb and they are working here 
(windows and ubuntu in VMWare).
Even have some working projects on go daddy hosting where I even 
changed the session dir to be under the cgi program so I can 
check/delete the session cookie files.



Which hosting plan are you using?
PS: Just a thought... you are allowing cookies in your browser from 
that site you are testing with right?



Cookies are allowed of cours

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] fpweb - SessionDir bug?

2010-10-22 Thread patspiper

On 10/21/2010 11:04 PM, ABorka wrote:

What is your FPC and Lazarus version btw?

I use FPC 2.4.0, Lazarus SVN r27800

I tried to use 2.5.1 but hit several snags, so I am not sure whether the 
test utilized 2.5.1 or not. I will create a separate thread for this issue.
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] fpweb - SessionDir bug?

2010-10-22 Thread patspiper

On 10/21/2010 11:03 PM, ABorka wrote:

It works here.
I am also using session cookies from fpweb and they are working here 
(windows and ubuntu in VMWare).
Even have some working projects on go daddy hosting where I even 
changed the session dir to be under the cgi program so I can 
check/delete the session cookie files.



Which hosting plan are you using?
PS: Just a thought... you are allowing cookies in your browser from 
that site you are testing with right?



Cookies are allowed of course

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] fpweb - SessionDir bug?

2010-10-22 Thread patspiper

On 10/21/2010 11:04 PM, ABorka wrote:

What is your FPC and Lazarus version btw?

I use FPC 2.4.0, Lazarus SVN r27800

I tried to use 2.5.1 but hit several snags, so I am not sure whether the 
test utilized 2.5.1 or not. I will create a separate thread for this issue.


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] fpweb - SessionDir bug?

2010-10-22 Thread Michael Van Canneyt



On Fri, 22 Oct 2010, patspiper wrote:


On 10/21/2010 11:04 PM, ABorka wrote:

What is your FPC and Lazarus version btw?

I use FPC 2.4.0, Lazarus SVN r27800

I tried to use 2.5.1 but hit several snags, so I am not sure whether the test 
utilized 2.5.1 or not. I will create a separate thread for this issue.


Can you try 2.4.2 RC1 ?

Michael.

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] fpweb - SessionDir bug?

2010-10-22 Thread patspiper

On 10/21/2010 08:50 PM, Michael Van Canneyt wrote:

Well. Normally, /tmp should be writable by all.


It is indeed

I use session cookies extensively (also ubuntu 10.04) and all works well.

I will test the session support demo and report.

Michael.

Maybe due to using FPC 2.4.0?

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] object type: strange behaviour

2010-10-22 Thread Birger Jansen
Forget my last message I upgraded FPC 2.4.1 to 2.5.1 and now this works like it 
should!

-Oorspronkelijk bericht-
Van: Birger Jansen bir...@cnoc.nl
Verzonden: vr 22-10-2010 11:38
Aan: Lazarus@lists.lazarus.freepascal.org; 
Onderwerp: [Lazarus] object type: strange behaviour

 Hi all,
 
 I'm converting a project from Delphi to FreePascal. It is a mathematical 
 application that uses records with methods. Since this is not possible in FPC 
 I 
 am trying to convert this base type from record to object:
 
   TPoint = object
   public
 X,Y,Z: Double;
 class function Create(const Ax, Ay, Az: Double): TPoint;static;
 class function Distance(const P1, P2: TPoint): Double;static;
   end; 
 
   class function TPoint.Create(const Ax, Ay, Az: Double): TPoint;static;
   begin
 Result.X := Ax;
 Result.Y := Ay;
 Result.Z := Az;
   end;
 
   class function TPoint.Distance(const P1, P2: TPoint): Double;static;
   var
 aX: Double;
   begin
 aX := Sqr(P1.X - P2.X) + Sqr(P1.Y - P2.Y) + Sqr(P1.Z - P2.Z);
 Result := Sqrt(aX);
   end; 
 
 So far so good, this works (compiles and produces the desired result):
 
   var
 P1, P2: TPoint;
 d: Double;
   begin
 P1 := TPoint.Create(0,1,1);
 P2 := TPoint.Create(1,0,0);
 d := TPoint.Distance(P1, P2);
 WriteLn(d);
 ReadLn;
   end.
 
 Now there is a class type that has a TPoint field:
 
   TNode = class(TObject)
   public
 FCoord: TPoint; { coords }
 constructor Create(const X, Y, Z: Double);
   end; 
 
 And a constructor that sets this point:
 
   constructor TNode.Create(const X, Y, Z: Double);
   begin
 FCoord.X := X;
 FCoord.Y := Y;
 FCoord.Z := Z;
   end;
 
 This works, however this doesn't:
 
   constructor TNode.Create(const X, Y, Z: Double);
   begin
 FCoord := TPoint.Create(X,Y,Z);
   end;
 
 It fails with an error: Class isn't a parent class of the current class. If I 
 set TNode.FCoord outside the constructor there is no problem at all. Also, 
 when 
 I try to access other methods of TPoint this fails (see UpdateCoord in the 
 full 
 source below).
 
 Any idea what causes this behaviour? I included the complete code below for 
 your reference.
 
 Kind regards,
   Birger Jansen
 
 
 
 
 program TestProject;
 
 {$mode delphi}{$H+}
 
 uses
   {$IFDEF UNIX}{$IFDEF UseCThreads}
   cthreads,
   {$ENDIF}{$ENDIF}
   Classes;
 type
 
   { TPoint }
 
   TPoint = object
   public
 X,Y,Z: Double;
 class function Create(const Ax, Ay, Az: Double): TPoint;
 class function Distance(const P1, P2: TPoint): Double;
   end;
 
   { TNode }
 
   TNode = class(TObject)
   public
 FCoord: TPoint; { coords }
 constructor Create(const X, Y, Z: Double);
 procedure UpdateCoord(const Value: TPoint);
   end;
 
 { TPoint }
 
 class function TPoint.Create(const Ax, Ay, Az: Double): TPoint;
 begin
   Result.X := Ax;
   Result.Y := Ay;
   Result.Z := Az;
 end;
 
 class function TPoint.Distance(const P1, P2: TPoint): Double;
 var
   aX: Double;
 begin
   aX := Sqr(P1.X - P2.X) + Sqr(P1.Y - P2.Y) + Sqr(P1.Z - P2.Z);
   Result := Sqrt(aX);
 end;
 
 constructor TNode.Create(const X, Y, Z: Double);
 begin
   FCoord.X := X;
   FCoord.Y := Y;
   FCoord.Z := Z;
 // this does not work:
   FCoord := TPoint.Create(X,Y,Z);
 end;
 
 procedure TNode.UpdateCoord(const Value: TPoint);
 begin
 // this does not work:
   if TPoint.Distance(FCoord, Value)  1E-10 then
 FCoord := Value;
   end;
 end;
 
 var
 P1, P2: TPoint;
 N: TNode;
 d: Double;
 
 begin
   N := TNode.Create(1,2,3);
 // this works:
   N.FCoord := TPoint.Create(1,2,3);
   P1 := TPoint.Create(0,1,1);
   P2 := TPoint.Create(1,0,0);
   d := TPoint.Distance(P1, P2);
   WriteLn(d);
   ReadLn;
 end.
 
 --
 ___
 Lazarus mailing list
 Lazarus@lists.lazarus.freepascal.org
 http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] object type: strange behaviour

2010-10-22 Thread Michael Van Canneyt



On Fri, 22 Oct 2010, Birger Jansen wrote:


Hi all,

I'm converting a project from Delphi to FreePascal. It is a mathematical 
application that uses records with methods. Since this is not possible in FPC I 
am trying to convert this base type from record to object:



[snip]



It fails with an error: Class isn't a parent class of the current class. If I 
set TNode.FCoord outside the constructor there is no problem at all. Also, when 
I try to access other methods of TPoint this fails (see UpdateCoord in the full 
source below).

Any idea what causes this behaviour? I included the complete code below for 
your reference.


Sounds like a bug in the compiler. Probably it sees the TPoint.Create as a
reference to an 'inherited constructor'.

I think you should create a bug report for this.

Michael.

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] object type: strange behaviour

2010-10-22 Thread Graeme Geldenhuys
Op 2010-10-22 10:19, Birger Jansen het geskryf:
 
 I'm converting a project from Delphi to FreePascal. It is a mathematical
 application that uses records with methods.

Side Note:
I still don't get why Borland/Embarcadero did that... records with methods.
MvC hinted that it is because .Net has records with methods. But delphi
Objects do exactly that, and existed since Turbo Pascal days. In terms of
Delphi, what exactly is the difference between a record with methods and
a Object?

Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net:8080/fpgui/


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] LazBuild does not create the target output directory

2010-10-22 Thread Vincent Snijders
Hi,

If you build a project which uses an outputdirectory for its
executable, e.g. lazarus\examples\bidi\project1.lpi, Lazarus (the IDE)
creates the lib\i386-win32 directory, if you build the project for
windows.

LazBuild doesn't create the output directory. I think it should create
it, just like the IDE does, don't you think?

Vincent

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] object type: strange behaviour

2010-10-22 Thread A.J. Venter
TP Objects were implemented as Records with methods years ago - but
it wasn't really true OO.
There was no concept of a class - and objects were literally nothing
BUT a record with methods, only the barest concepts of virtual,
private and public methods were present, inherittence was... shoddy at
best...

It was a poor man's OO before OP gave us proper class-based objects.

The whole records-with-methods thing to me sounds like a cheap way of
using code that was lying around to add an entry to a featurelist that
was technically already there ages ago - and useless.

On Fri, Oct 22, 2010 at 1:14 PM, Graeme Geldenhuys
graemeg.li...@gmail.com wrote:
 Op 2010-10-22 10:19, Birger Jansen het geskryf:

 I'm converting a project from Delphi to FreePascal. It is a mathematical
 application that uses records with methods.

 Side Note:
 I still don't get why Borland/Embarcadero did that... records with methods.
 MvC hinted that it is because .Net has records with methods. But delphi
 Objects do exactly that, and existed since Turbo Pascal days. In terms of
 Delphi, what exactly is the difference between a record with methods and
 a Object?

 Regards,
  - Graeme -

 --
 fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
 http://opensoft.homeip.net:8080/fpgui/


 --
 ___
 Lazarus mailing list
 Lazarus@lists.lazarus.freepascal.org
 http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus




-- 
A.J. Venter
Founder and lead developer, Kongoni GNU/Linux
www.kongoni.co.za
www.silentcoder.co.za - Blog

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] object type: strange behaviour

2010-10-22 Thread Graeme Geldenhuys
Op 2010-10-22 13:22, A.J. Venter het geskryf:
 TP Objects were implemented as Records with methods years ago

I know that, and that is what puzzles me. Borland/Embarcadero introduced in
again a little while ago (while TP Objects still exits in the Delphi
language), and actually called it a new feature. Puzzling?



Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net:8080/fpgui/


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Dual installation of FPC

2010-10-22 Thread patspiper
I have FPC-2.4.0 (fpc.cfg is in /etc) installed on my Ubuntu 10.04 
system, and use exclusively Lazarus SVN which I continuously update and 
build from within the IDE without any issue. I tried to install FPC SVN:


I checked out the FPC trunk to ~/Programs/fpc/fpc-svn
mkdir ~/Programs/fpc/fpc-2.5.1
cd ~/Programs/fpc/fpc-svn
make clean all install INSTALL_PREFIX=~/Programs/fpc/fpc-2.5.1

It created in ~/Programs/fpc/fpc-2.5.1 the following directories:
bin: fpc and fpcmkcfg executables are here
lib/fpc/2.5.1 (contains ide, msg, and units directories as well as 
ppc386 executable)

share (contains doc directory)

cd ~/Programs/fpc/fpc-2.5.1/bin
fpcmkcfg  fpc.cfg
I added to the new fpc.cfg:
 -Fu~/Programs/fpc/fpc-2.5.1/lib/fpc/$fpcversion/units/$fpctarget
 -Fu~/Programs/fpc/fpc-2.5.1/lib/fpc/$fpcversion/units/$fpctarget/*
 -Fu~/Programs/fpc/fpc-2.5.1/lib/fpc/$fpcversion/units/$fpctarget/rtl

At this stage, I did not use the new fpc.cfg, but edited instead the old 
fpc.cfg commenting out the old 3 -Fu lines and adding the new ones.


In terminal:
export PATH=~/Programs/fpc/fpc-2.5.1/lib/fpc/2.5.1:$PATH
export PATH=~/Programs/fpc/fpc-2.5.1/bin:$PATH

At this stage, fpc -v shows 2.5.1

I launched Lazarus from the terminal (so that the exported paths persist):
Lazarus env options:
Compiler path: ~/Programs/fpc/fpc-2.5.1/bin/fpc
FPC source directory: ~/Programs/fpc/fpc-svn/

I rebuilt the IDE which complained about lnet package not compiling and 
asking if I should remove it and showed 2 buttons: Remove and Yes!! 
(this is a bug).


I removed the package manually, and the IDE was built successfully 
showing 2.5.1 in the About box.


The question remains how to handle the paths and fpc.cfg so that Lazarus 
can use both FPC versions on demand (by changing the compiler path and 
FPC source directory entries).


Stephano

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] fpweb - SessionDir bug?

2010-10-22 Thread patspiper

On 10/22/2010 12:26 PM, Michael Van Canneyt wrote:

Can you try 2.4.2 RC1 ?

Michael.

I finally managed to install 2.5.1 sacrificing 2.4.0 in the process 
(woes posted in a separate thread), and the sessiondir works like a charm.


Apologies for the false alarm

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] LazBuild does not create the target output directory

2010-10-22 Thread Michael Van Canneyt



On Fri, 22 Oct 2010, Vincent Snijders wrote:


Hi,

If you build a project which uses an outputdirectory for its
executable, e.g. lazarus\examples\bidi\project1.lpi, Lazarus (the IDE)
creates the lib\i386-win32 directory, if you build the project for
windows.

LazBuild doesn't create the output directory. I think it should create
it, just like the IDE does, don't you think?


Definitely, I've bumped into this more than once. 
Same goes for packages, if memory serves well.


Michael.

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Codetools fail: unit source directory seem to be missing

2010-10-22 Thread Vincent Snijders
Hi,

From time to time the find declaration doesn't work in my Lazarus. If
I go the Unit info - Source paths, I see this list:
C:\lazarus\source\lazarus\components\fpcunit
C:\lazarus\source\lazarus\components\synedit\units\i386-win32
C:\lazarus\source\lazarus\ideintf\units\i386-win32
C:\lazarus\source\lazarus\lcl\units\i386-win32
C:\lazarus\source\lazarus\lcl\units\i386-win32\win32
C:\lazarus\source\lazarus\packager\units\i386-win32

Note that for the used packages, e.g. LCL, there are no source directories.

In the console window I see:
TMainIDE.DoJumpToCodeToolBossError No errormessage
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
TCodeToolManager.DirectoryCachePoolGetUnitFromSet invalid UnitSet=
### TCodeToolManager.HandleException: unit not found: Translations at Line=34
Col=75 in C:\lazarus\source\lazarus\components\fpcunit\guitestrunner.pas

How can I have functional code tools again?

Vincent

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Making tabs smart

2010-10-22 Thread Juha Manninen (gmail)
On Wednesday 20 October 2010 15:52:22 Martin wrote:
if Accept then
begin
 
 1 234   5
 
 
 1 begin of line
 2 first word begin
 3 end of line
 4 next word, but 2 lines above (first line long enough)
 5 end of line but 2 lines above

I get the feeling of stupid tabs, too, sometimes.
The most obvious location is missing. That is between 2 and 3, the 
indented code after begin. Usually the codetools-based autoindent takes care 
of it when you press Enter, but not always.
To make the tab smarted it could ask for info from codetools about good 
indentation spots.

Another improvement would be to inspect the surrounding code instead of just 
preceding code. For example if I want to align comments:

  s1 := MyFunc1(); // Comment at the column I want it to be.
  s2 := MyFunc2();|  -- cursor

Now the tab is smart, good.
But if I have:

  s1 := MyFunc1();|  -- cursor
  s2 := MyFunc2(); // Comment at the column I want it to be.

The tab became stupid again.

This smart tab feature could be integrated with codetools indentation feature 
somehow.
There is an issue of the GUI settings being on different pages. Maybe it 
indicates that the design is not perfect either.

Juha

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] operator overloading

2010-10-22 Thread Birger Jansen
Hi,

In Delphi you can overload the Explicit operator. This makes is possible to 
have a type TTypeX and TTypeY and cast one into the other. To do that, 
implement an operator overloader:
  operator Explicit(const AValue: TTypeX): TTypeY.
  // implement converstio from TTypeX to TTypeY.

Then you can do stuff like
var
  tx: TTypeX;
  ty: TTypeY;
begin
  tx := TTypeX.Create;
  ty := TTypeY(tx);
end;

Is something like this possible in FPC?

Kind regards,
  Birger

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] operator overloading

2010-10-22 Thread Vincent Snijders
2010/10/22 Birger Jansen bir...@cnoc.nl:
 Hi,

 In Delphi you can overload the Explicit operator. This makes is possible to 
 have a type TTypeX and TTypeY and cast one into the other. To do that, 
 implement an operator overloader:
  operator Explicit(const AValue: TTypeX): TTypeY.
  // implement converstio from TTypeX to TTypeY.

 Then you can do stuff like
 var
  tx: TTypeX;
  ty: TTypeY;
 begin
  tx := TTypeX.Create;
  ty := TTypeY(tx);
 end;

 Is something like this possible in FPC?

I don't know. If you don't get an answer, it may be useful to ask on
the fpc-pascal mailing list, that is a better place for such
questions:
http://lists.freepascal.org/mailman/listinfo/fpc-pascal/

Vincent

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] operator overloading

2010-10-22 Thread Felipe Monteiro de Carvalho
overload the := operator instead. Search for the free pascal docs on
operator overloading.

-- 
Felipe Monteiro de Carvalho

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Release schedule and policy

2010-10-22 Thread Juha Manninen
Hi

I would like to suggest again a new release policy. It would have timely 
releases, meaning a new release after a fixed time period, at a predefined date.
Some projects have a 3 months cycle but a 6 months would be enough for Lazarus 
because of more limited resources.

Every release would be basically cut out from trunk. It would be verified to 
compile and to work with some big test projects. Nothing else. Then it could 
be called release x rc1. After one week testing and maybe applying fixes from 
trunk, it would become the release x (without rc1). After that there would 
be maintenance releases in a timely fashion (or when needed).

The important point is that emphasis would move from the release itself to its 
maintenance. The challenge is to find all needed fixes for the maintenance and 
to apply them.
Basically all commits in trunk could be classified as feature or bug-fix. 
Bug-fixes should be applied also to maintenance branches. The division is not 
always clear.
Who classifies them, the author of the commit or the branch maintainer?
To support this process, any new big feature should stay in its own branch 
first and be merged to trunk some time after a release (not just before a 
release).
I could help somehow in this process. I believe that lack of resources is a 
problem when implementing such a model.

The current situation is frustrating to everybody. Lazarus is evolving and 
most users must use the development version because it is better than the 
release version. Some people explain bugs in release version which are fixed 
over half a year ago.
It is frustrating also to Lazarus developers because the release can happen 
only when all bugs are fixed. That is not realistic as we all know.


Juha

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Release schedule and policy

2010-10-22 Thread Vincent Snijders
2010/10/22 Juha Manninen juha.mannine...@gmail.com:
 Hi

 I would like to suggest again a new release policy. It would have timely
 releases, meaning a new release after a fixed time period, at a predefined 
 date.
 Some projects have a 3 months cycle but a 6 months would be enough for Lazarus
 because of more limited resources.

 Every release would be basically cut out from trunk. It would be verified to
 compile and to work with some big test projects. Nothing else. Then it could
 be called release x rc1. After one week testing and maybe applying fixes 
 from
 trunk, it would become the release x (without rc1). After that there would
 be maintenance releases in a timely fashion (or when needed).

 The important point is that emphasis would move from the release itself to its
 maintenance. The challenge is to find all needed fixes for the maintenance and
 to apply them.
 Basically all commits in trunk could be classified as feature or bug-fix.
 Bug-fixes should be applied also to maintenance branches. The division is not
 always clear.
 Who classifies them, the author of the commit or the branch maintainer?
 To support this process, any new big feature should stay in its own branch
 first and be merged to trunk some time after a release (not just before a
 release).
 I could help somehow in this process. I believe that lack of resources is a
 problem when implementing such a model.

 The current situation is frustrating to everybody. Lazarus is evolving and
 most users must use the development version because it is better than the
 release version. Some people explain bugs in release version which are fixed
 over half a year ago.
 It is frustrating also to Lazarus developers because the release can happen
 only when all bugs are fixed. That is not realistic as we all know.

What stops you doing this?

Vincent

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Lazarus IDE and fpc.cfg location

2010-10-22 Thread patspiper
The FPC user manual states the compiler will look for a configuration 
file fpc.cfg in the following places:

• Under UNIX (such as LINUX)
1. The current directory.
2. Your home directory, it looks for .fpc.cfg.
3. The directory specified in the environment variable PPC_CONFIG_PATH, 
and if it is
not set, it will look in the etc directory above the compiler directory. 
(For instance, if the

compiler is in /usr/local/bin, it will look in /usr/local/etc)
4. The directory /etc.
• Under all other OSes:
1. The current directory.
2. If it is set, the directory specified in the environment variable 
PPC_CONFIG_PATH.

3. The directory where the compiler is.

whereas the IDE looks in the following places:
1. $HOME/.fpc.cfg
2. compiler path + fpc.cfg
3. working directory + fpc.cfg
4. /etc/fpc.cfg (on Unix only)

1. Shouldn't the IDE follow what the FPC user manual states? In 
particular, compilerpath/../etc vs compilerpath
2. I tried to put fpc.cfg in the fpc binary directory, but the IDE did 
not detect it. Is that a bug?



--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] JEDI Code Format

2010-10-22 Thread Juha Manninen
Hi

Is the JEDI Code Formatter in Lazarus Tools menu already supposed to format 
code, or is it still under construction? I only get a parse tree and no option 
to modify the code.

 http://koti.phnet.fi/juhamann/Lazarus/JCF_Parse_Tree.jpg

Juha

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Dual installation of FPC

2010-10-22 Thread patspiper

On 10/22/2010 02:48 PM, patspiper wrote:

In terminal:
export PATH=~/Programs/fpc/fpc-2.5.1/lib/fpc/2.5.1:$PATH
export PATH=~/Programs/fpc/fpc-2.5.1/bin:$PATH

It seems the 2nd export is not necessary

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Release schedule and policy

2010-10-22 Thread Martin

I took the liberty to reorder your statements

On 22/10/2010 18:35, Juha Manninen wrote:

I would like to suggest again a new release policy. It would have timely
releases, meaning a new release after a fixed time period, at a predefined date.
Some projects have a 3 months cycle but a 6 months would be enough for Lazarus
because of more limited resources.

I could help somehow in this process. I believe that lack of resources is a
problem when implementing such a model.


I guess: yes, you hit the nail on the head.


To support this process, any new big feature should stay in its own branch
first and be merged to trunk some time after a release (not just before a
release).

I am not sure this is a goof idea.

1) Who defines what is a major feature?
2) we do not want 20 or 30 different branches?
3) New features would take longer, since they were no longer tested.
Of course, the end-user a forced tester would anyway no longer be there 
(since they could stick to releases), but at least other developers 
would still use all new features.
Personally, I don't mind the occasionally issue with the IDE caused by 
somone elses new work. I do the same sometimes, and I am always glad to 
get feedback as soon as possible, as it makes it much easier to fix the 
issue.


I believe, trunk should stay open for all work (extremely experimental 
work can and should go into branches, as has in the past).


Then you would have one or 2 maintained branches:
a) the fixes branch as currently
b) the next release branch, which is based on fixes, but also gets 
features merged as soon as they are deemed stable. Some end-users may 
even want to stick with this.


And those 2 branches, are what will take a lot of work. If someone is 
willing to do that work, then I guess that's all it takes.




Every release would be basically cut out from trunk. It would be verified to
compile and to work with some big test projects. Nothing else. Then it could
be called release x rc1. After one week testing and maybe applying fixes from
trunk, it would become the release x (without rc1). After that there would
be maintenance releases in a timely fashion (or when needed).

See above.

There are also some existing test cases. They could even be used on the 
b branch from above, on every merge..., but again: maintenance resources.




The important point is that emphasis would move from the release itself to its
maintenance. The challenge is to find all needed fixes for the maintenance and
to apply them.
Basically all commits in trunk could be classified as feature or bug-fix.
Bug-fixes should be applied also to maintenance branches. The division is not
always clear.
Who classifies them, the author of the commit or the branch maintainer?
Well I think, the commiter can flag them with some sort of hint, the 
maintainer decides.


Depending on how much work the maintainer wants to spent, I would 
suggest, that each fix, should stay one or two weeks in trunk, before 
being merged anywhere else. That way, if it breaks something else we may 
spot it before merging it.
Or it first merges into b-next-release, and if no complaints are 
received, then into fixes




my 2.5  cents
Martin



--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Release schedule and policy

2010-10-22 Thread Juha Manninen
On Friday 22 October 2010 20:51:54 Vincent Snijders wrote:
 What stops you doing this?

It would be a competing release system if I start to do it by myself. Besides 
it is a big job and needs support from the whole development chain.
Namely I am thinking the use of branches for new features, and deciding which 
trunk commits should be applied to maintenance releases.

Maybe I should ask from other projects how they coordinate things.
Or maybe somebody here knows.

Also, there should be a recommended release for users and for Linux distro 
maintainers. The very latest release would not be the recommended one in that 
model.


 Vincent

Juha

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Release schedule and policy

2010-10-22 Thread Michael Van Canneyt



On Fri, 22 Oct 2010, Juha Manninen wrote:


On Friday 22 October 2010 20:51:54 Vincent Snijders wrote:

What stops you doing this?


It would be a competing release system if I start to do it by myself. Besides
it is a big job and needs support from the whole development chain.
Namely I am thinking the use of branches for new features, and deciding which
trunk commits should be applied to maintenance releases.


Trunk should be used for this, otherwise it will not be tested thoroughly.
I don't want to start searching for branches that contain new things, and 
what if 2 features I want to test are in different branches ?


I am not a chimpansee, jumping from branch to branch, after all... :)

Michael.


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Dual installation of FPC

2010-10-22 Thread Thierry B.
Le 22/10/2010 13:48, patspiper a écrit :

 
 The question remains how to handle the paths and fpc.cfg so that Lazarus
 can use both FPC versions on demand (by changing the compiler path and
 FPC source directory entries).
 

The best is to put all you fpcs under a root directory. Then in you
~/.fpc.cfg, just use $FPCVERSION so that it matches all versions. For
example :

  # searchpath for units and other system dependent things

-Fu/home/thierrybo/Sys/local/opt/fpc/$FPCVERSION/lib/fpc/$FPCVERSION/units/$FPCTARGET

-Fu/home/thierrybo/Sys/local/opt/fpc/$FPCVERSION/lib/fpc/$FPCVERSION/units/$FPCTARGET/*

-Fu/home/thierrybo/Sys/local/opt/fpc/$FPCVERSION/lib/fpc/$FPCVERSION/units/$FPCTARGET/rtl


Thierry B.


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Logging class or some kind of writeln for Lazarus

2010-10-22 Thread Frank Church
Are there some  FPC/Lazarus class for logging events?

-- 
Frank Church

===
http://devblog.brahmancreations.com
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] object type: strange behaviour

2010-10-22 Thread Hans-Peter Diettrich

Graeme Geldenhuys schrieb:


I still don't get why Borland/Embarcadero did that... records with methods.
MvC hinted that it is because .Net has records with methods. But delphi
Objects do exactly that, and existed since Turbo Pascal days. In terms of
Delphi, what exactly is the difference between a record with methods and
a Object?


Delphi Objects should only be used with TP7 member types.

The initialization and finalization, required for managed types 
(AnsiString...), is broken in derived Objects, since the introduction of 
these types. Because it were easy to fix that bug (like with nested 
records), it seems to be a purely political decision, to deprecate the 
Object type for a real reason. Note that Object types with no ancestors 
 are properly initialized and finalized...


DoDi


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Logging class or some kind of writeln for Lazarus

2010-10-22 Thread Michael Van Canneyt



On Fri, 22 Oct 2010, Frank Church wrote:




Are there some  FPC/Lazarus class for logging events?


Several:

- TEventLog writes to the system log or file.
  Installed by default on tab System.
- I think there is also multilog in Lazarus CCR ?
- tiOPF contains tiLog. It writes to file, but is extensible.

Michael.--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Release schedule and policy

2010-10-22 Thread Juha Manninen
On Friday 22 October 2010 21:08:27 Martin wrote:
  To support this process, any new big feature should stay in its own
  branch first and be merged to trunk some time after a release (not just
  before a release).
 
 I am not sure this is a goof idea.
 
 1) Who defines what is a major feature?
 2) we do not want 20 or 30 different branches?

No, my idea was that only a new feature which is guaranteed to be broken at 
the time of next release date, is kept in a branch until the release. Then it 
can be merged and tested by all trunk users. It will make it into the next 
release. For example if you start a new Enhanced Smart Tabs feature a month 
before a release, and it will surely mess everybody's code at that moment, 
then it should go to a branch.

There would not be very many such branches. It would just be a compromise 
between the current situation when everybody must use the development version 
and suffer from its broken stuff, and the goal to make a perfect release when 
all bugs are fixed.

[...]

 Then you would have one or 2 maintained branches:
 a) the fixes branch as currently
 b) the next release branch, which is based on fixes, but also gets
 features merged as soon as they are deemed stable. Some end-users may
 even want to stick with this.
 
 And those 2 branches, are what will take a lot of work. If someone is
 willing to do that work, then I guess that's all it takes.

I had a different idea here (if I understood your text right).

The next release would be based on trunk only. It means it would not be stable 
and well tested. Later it would have maintenance-patches and -releases and 
would become more stable.
Having a certainly broken feature in a branch and excluding it from release 
tries to make the initial release more stable than the trunk currently is.
The release maintenance branches would get only bug fixes, no new features.

This is all about finding a good compromise. The current situation is not good.


 Well I think, the commiter can flag them with some sort of hint, the
 maintainer decides.

That would be good.

 Depending on how much work the maintainer wants to spent, I would
 suggest, that each fix, should stay one or two weeks in trunk, before
 being merged anywhere else. That way, if it breaks something else we may
 spot it before merging it.

Makes sense.

Juha

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Dual installation of FPC

2010-10-22 Thread patspiper

On 10/22/2010 09:39 PM, Thierry B. wrote:

The best is to put all you fpcs under a root directory. Then in you
~/.fpc.cfg, just use $FPCVERSION so that it matches all versions. For
example :

   # searchpath for units and other system dependent things

-Fu/home/thierrybo/Sys/local/opt/fpc/$FPCVERSION/lib/fpc/$FPCVERSION/units/$FPCTARGET

-Fu/home/thierrybo/Sys/local/opt/fpc/$FPCVERSION/lib/fpc/$FPCVERSION/units/$FPCTARGET/*

-Fu/home/thierrybo/Sys/local/opt/fpc/$FPCVERSION/lib/fpc/$FPCVERSION/units/$FPCTARGET/rtl


Thierry B.
   

That would require using FPC/Lazarus with root privileges...not recommended

I solved the fpc.cfg issue anyway by having the 2.4.0 config file in 
/etc, and 2.5.1's config file in ~/.fpc.cfg


However, another idea just came to my mind: Can #IFDEF within fpc.cfg be 
used to test the value of $FPCVERSION? This would allow conditional paths.


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] TExtJsJSonDataFormatter set ContentType

2010-10-22 Thread Michael Van Canneyt



On Fri, 22 Oct 2010, Leonardo M. Ramé wrote:


I found TExtJsJsonDataFormatter has a protected method GetDataContentType that 
returns 'text/html'.

How can I change that value without inheriting from this class? I want
to return 'text/json;charset=iso-8859-1'.


Currently you can't. I can implement a property for this, and if it's empty, 
return text/html.

You should be careful what you return here. Not all types are accepted for some 
reason.

Michael.--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Release schedule and policy

2010-10-22 Thread Juha Manninen
On Friday 22 October 2010 21:19:20 Michael Van Canneyt wrote:
 Trunk should be used for this, otherwise it will not be tested thoroughly.
 I don't want to start searching for branches that contain new things, and
 what if 2 features I want to test are in different branches ?

See my reply to Martin.
A branch would be only for certainly broken features at the time of release, 
making the initial release little more stable than the trunk is now.
The branches could also be left out from the plan if they are a problem. The 
main idea was a timely release + its maintenance.

I think most people agree that the current situation is not good.
People are waiting for a perfect release while in practice using the 
unstable development version?

 I am not a chimpansee, jumping from branch to branch, after all... :)

:-)

Juha

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Logging class or some kind of writeln for Lazarus

2010-10-22 Thread Vincent Snijders
2010/10/22 Frank Church vfcli...@gmail.com:


 Are there some  FPC/Lazarus class for logging events?

Some kind of writeln is DebugLn:
http://wiki.freepascal.org/Lazarus_Faq#How_can_I_see_debug_output.3F

Vincent

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus IDE and fpc.cfg location

2010-10-22 Thread Vincent Snijders
2010/10/22 patspiper patspi...@yahoo.com:
 The FPC user manual states the compiler will look for a configuration file
 fpc.cfg in the following places:
 • Under UNIX (such as LINUX)
 1. The current directory.
 2. Your home directory, it looks for .fpc.cfg.
 3. The directory specified in the environment variable PPC_CONFIG_PATH, and
 if it is
 not set, it will look in the etc directory above the compiler directory.
 (For instance, if the
 compiler is in /usr/local/bin, it will look in /usr/local/etc)
 4. The directory /etc.
 • Under all other OSes:
 1. The current directory.
 2. If it is set, the directory specified in the environment variable
 PPC_CONFIG_PATH.
 3. The directory where the compiler is.

 whereas the IDE looks in the following places:
 1. $HOME/.fpc.cfg
 2. compiler path + fpc.cfg
 3. working directory + fpc.cfg
 4. /etc/fpc.cfg (on Unix only)

 1. Shouldn't the IDE follow what the FPC user manual states? In particular,
 compilerpath/../etc vs compilerpath

The IDE doesn't use the .fpc.cff, the called compiler does. So, it
does follow the FPC user manual as much as it can.

 2. I tried to put fpc.cfg in the fpc binary directory, but the IDE did not
 detect it. Is that a bug?

Maybe, but then not in Lazarus, but in the compiler. Do you actually
use the fpc binary in the directory of fpc.cfg? Is that compiler set
in the environment options? Does it work if you use that compiler from
the command line yourself?

Vincent

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus IDE and fpc.cfg location

2010-10-22 Thread patspiper

On 10/22/2010 11:31 PM, Vincent Snijders wrote:

2010/10/22 patspiperpatspi...@yahoo.com:
   

The FPC user manual states the compiler will look for a configuration file
fpc.cfg in the following places:
• Under UNIX (such as LINUX)
1. The current directory.
2. Your home directory, it looks for .fpc.cfg.
3. The directory specified in the environment variable PPC_CONFIG_PATH, and
if it is
not set, it will look in the etc directory above the compiler directory.
(For instance, if the
compiler is in /usr/local/bin, it will look in /usr/local/etc)
4. The directory /etc.
• Under all other OSes:
1. The current directory.
2. If it is set, the directory specified in the environment variable
PPC_CONFIG_PATH.
3. The directory where the compiler is.

whereas the IDE looks in the following places:
1. $HOME/.fpc.cfg
2. compiler path + fpc.cfg
3. working directory + fpc.cfg
4. /etc/fpc.cfg (on Unix only)

1. Shouldn't the IDE follow what the FPC user manual states? In particular,
compilerpath/../etc vs compilerpath
 

The IDE doesn't use the .fpc.cff, the called compiler does. So, it
does follow the FPC user manual as much as it can.

   

2. I tried to put fpc.cfg in the fpc binary directory, but the IDE did not
detect it. Is that a bug?
 

Maybe, but then not in Lazarus, but in the compiler. Do you actually
use the fpc binary in the directory of fpc.cfg? Is that compiler set
in the environment options? Does it work if you use that compiler from
the command line yourself?

Vincent
   
I was experimenting on how to install FPC 2.5.1 alongside of 2.4.0, the 
config file of which is /etc/fpc.cfg. Putting fpc.cfg in the fpc binary 
directory did not work whereas it worked when placed in the home folder 
(.fpc.cfg).
I deduced the sequence above from the following excerpt from 
CheckCompilerOpts.pas (part of the IDE):


  // check $HOME/.fpc.cfg
  Dir:=GetEnvironmentVariableUTF8('HOME');
  if Dir'' then begin
Filename:=CleanAndExpandDirectory(Dir)+'.fpc.cfg';
AddFile(Filename);
  end;

  // check compiler path + fpc.cfg
  Dir:=ExtractFilePath(CompilerFilename);
  Dir:=ReadAllLinks(Dir,false);
  if Dir'' then begin
Filename:=CleanAndExpandDirectory(Dir)+'fpc.cfg';
AddFile(Filename);
  end;

  // check working directory + fpc.cfg
  Dir:=ExtractFilePath(Options.BaseDirectory);
  Dir:=ReadAllLinks(Dir,false);
  if Dir'' then begin
Filename:=CleanAndExpandDirectory(Dir)+'fpc.cfg';
AddFile(Filename);
  end;

  // check /etc/fpc.cfg
  {$IFDEF Unix}
Dir:=ExtractFilePath(CompilerFilename);
Dir:=GetEnvironmentVariableUTF8('HOME');
if Dir'' then begin
  Filename:='/etc/fpc.cfg';
  AddFile(Filename);
end;
  {$ENDIF}



--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Lazarus IDE and fpc.cfg location

2010-10-22 Thread shoKwave

Am 22.10.2010 22:53, schrieb patspiper:


3. The directory specified in the environment variable 
PPC_CONFIG_PATH, and

if it is
not set, it will look in the etc directory above the compiler 
directory.

(For instance, if the
compiler is in /usr/local/bin, it will look in /usr/local/etc)



I was experimenting on how to install FPC 2.5.1 alongside of 2.4.0, 
the config file of which is /etc/fpc.cfg. Putting fpc.cfg in the fpc 
binary directory did not work whereas it worked when placed in the 
home folder (.fpc.cfg).


Note, the compiler isn't fpc but ppc386/ppcx64. so you have to put the 
fpc.cfg to basedir/lib/fpc/etc. I have so on my ubuntu.



regards
Ingo

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] JEDI Code Format

2010-10-22 Thread Bernd Kreuss
On 22.10.2010 20:02, Juha Manninen wrote:
 Hi
 
 Is the JEDI Code Formatter in Lazarus Tools menu already supposed to format 
 code, or is it still under construction? I only get a parse tree and no 
 option 
 to modify the code.

It has its own parser (separate sourceforge project) and sometimes
cannot parse new or seldom used language features or dialect variations
that it does not (yet) know or that trigger a bug in its parser. I have
seen this happen already. Try to identify the offending language
construct that it cannot parse and file a bug report.

Bernd

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] object type: strange behaviour

2010-10-22 Thread Alexander Klenin
On Sat, Oct 23, 2010 at 06:55, Hans-Peter Diettrich
drdiettri...@aol.com wrote:
 Delphi Objects should only be used with TP7 member types.

 The initialization and finalization, required for managed types
 (AnsiString...), is broken in derived Objects, since the introduction of
 these types. Because it were easy to fix that bug (like with nested
 records), it seems to be a purely political decision, to deprecate the
 Object type for a real reason. Note that Object types with no ancestors  are
 properly initialized and finalized...

I hope FPC does not have this bug?

-- 
Alexander S. Klenin

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus