[Lazarus] Lazarus slow on large files

2012-02-15 Thread Michael Van Canneyt


Hi,

I was doing some test programming for android.
The android SDK unit contains 68000 lines (.pas and .inc together). 
Opening it in the IDE (by right-clicking an identifier in my sources) 
virtually stops the IDE.


The source of the android include file are drawn, but the scrollbars are not drawn, 
scrolling or navigating the source does not work, and the IDE is generally 
totally unresponsive. Only closing the tab again makes the IDE responsive.

(and even the closing takes a while).

All this is on Linux, GTK, 64-bit, Lazarus from yesterday.

Has anyone else experienced similar problems ?

Michael.

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Michael Schnell

On 02/14/2012 07:33 PM, waldo kitty wrote:
placed the cursor on a pascal keyword (ie: implementation in the 
currently opened file from when i opened the lhelp.lpi), pressed F1 
and... no help :(


To get context help for pascal language keywords, you need to install a 
combined chm file that (in addition to the standard LCL) help includes 
FPC  language help (and hopefully help on help, IDE help, RTL help, you 
name it.


I don't know if such a file even exist and/or (how) it is possible to 
build it from the svn sources.


(Se the lots of recent discussions on the help system that pointed out 
the benefits of DocView.)


-Michael


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


Re: [Lazarus] A game developed with Lazarus.

2012-02-15 Thread Kjow
2012/2/14 Lazarus Portugal Lazarus Portugal
lazarusportugalwebmast...@gmail.com:
 Is very cool.

 2012/2/13 Kjow antispamm...@gmail.com

 2012/2/13 Lukasz Sokol el.es...@gmail.com
 
  On 13/02/2012 10:25, Kjow wrote:
   Hi all!
  
   I added to the Lazarus wiki a video game I developed with Lazarus and
   GLScene:
  
   http://wiki.lazarus.freepascal.org/index.php?title=Projects_using_Lazarus#Slot_Cars_-_The_Video_Game
  
    At moment there is a demo to download and two videos on youtube. I'm
   looking for some commercial partners to distribuite it (like Steam
   and similar) and the full version is coming soon. :)
  
   Best Regards, Kjow
  
  Hey Kjow :)
  Nice preview!
 
  And cool game it seems!
  :)
 
  L.

 Thank you very much! :D
 I hope that it could be appreciated by many gamers, so maybe I can
 grow up and hire someone to help me :)

 Best Regards,
 Kjow

 PS anyway, I love Lazarus and GLScene :D

Thank you :)

...and backgrounds are coming :)

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


[Lazarus] SIGSEGV error on close.

2012-02-15 Thread Kjow
Hi all,

I'm getting this error on application close. Also with an empty project.
Anyone have this?

I just updated Lazarus/FPC via svn:

Lazarus: 0.9.30.3 - 35369M
FPC: 2.4.5 - r20352

Thank you,
Kjow

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


Re: [Lazarus] How about Ctrl+Shift+Alt+Space completes code with empty values.

2012-02-15 Thread Lukasz Sokol
On 14/02/2012 17:43, Everton Vieira wrote:
 How about Ctrl+Shift+Alt+Space completes the code with empty values.
 
 Like this:
 
 Trim();
 
 After Ctrl+Shift+Alt+Space inside that parentheses makes this:
 
 Trim('');
 
 Just, another idea. :)
 

Trim is bad example :) but if you wanted Ctrl+Shift+Alt+Space to expand, e.g.

AnsiReplaceString() 
into
AnsiReplaceString('','','')

What would you put as 'empty' parameter for functions that have numeric meaning,
and don't really tolerate 0 as input
(hypothetical: function Divide(A: integer; B: integer):Real; 
 if you expand Divide() to Divide(0,0) and forget to put some meaningful 
constant into B
(or variable) you'll end up with executing div/0 and as such, an error)

As such such expansion IMO is futile.

L. 


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Marco van de Voort
On Wed, Feb 15, 2012 at 08:52:56AM +0200, Graeme Geldenhuys wrote:
 On 15 February 2012 04:58, waldo kitty  wrote:
 
  i used the term 'keyword' to cover basic pascal verbs or whatever the
  proper verbiage is for them... i also see/use this term to cover all library
  items and am surprised that 'writeln' is not included in the RTL docs...
 
 Those keywords are coverer in the RTL documentation. I see it in
 DocView when I press F1, so there must be yet another bug in the CHM
 files or viewer or CHM IDE integration.
 
 For the writeln() keyword as you put it, DocView took me to RTL -
 Reference for unit 'System'  Procedures and Functions  Writeln

That's a built in, not a keyword.

The keywords are in ref.chm ( stuff like repeat and until).

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Marco van de Voort
On Tue, Feb 14, 2012 at 10:21:46PM +0100, felipemonteiro.carva...@gmail.com 
wrote:
 Em 14/02/2012, ??s 19:33, waldo kitty wkitt...@windstream.net escreveu:
  so why isn't this working??? what is the key step that has been left out of 
  the instructions??
 
 Read the wiki section title. Documentation for RTL, fcl, lcl. Nothing is
 said about keywords as they are not part of those libraries but of the
 language itself. 

True.

 It is for types, functions, classes, units, etc.  Not
 keywords.  I don't know what is required for keywords help.

Putting ref.chm in the same directory. The keywords are in there for nearly
two years.

But iirc only .31 supports it, not .30. (and it is one of the things that
would be nice to backport to a future stable release)

The textmode IDE has supported it from the start.

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


Re: [Lazarus] How about Ctrl+Shift+Alt+Space completes code with empty values.

2012-02-15 Thread Everton Vieira

Em 14/02/2012, às 18:56, Martin escreveu:

 On 14/02/2012 17:43, Everton Vieira wrote:
 How about Ctrl+Shift+Alt+Space completes the code with empty values.
 
 Like this:
 
 Trim();
 
 After Ctrl+Shift+Alt+Space inside that parentheses makes this:
 
 Trim('');
 
 Just, another idea. :)
 
 
 You do know shift-ctrl-space ?
 Which opens a hint showing the possible parameter list(s). That also has the 
 advantage to work if there are overloaded versions.

I know. Thanks.

 
 In 0.9.31 you can then insert the one you need, with the mouse (sorry no 
 keyboard)
 
 
 --
 a good overview
 http://wiki.lazarus.freepascal.org/Lazarus_IDE_Tools
 http://wiki.lazarus.freepascal.org/New_IDE_features_since
 
 --
 ___
 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] installing chm help

2012-02-15 Thread Marco van de Voort
On Tue, Feb 14, 2012 at 09:53:38PM -0500, waldo kitty wrote:
  I got ref, prog, user and toc CHMs, too.
 
 hunh? there are only 3 in the ~16Meg fpc-lazarus-doc-chm-0.9.30.2.tar.bz2 
 file i 
 pulled off of sourceforge as directed by the wiki page /scratching head

Check the FPC documentation download page for e.g. 2.6.0

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


Re: [Lazarus] How about Ctrl+Shift+Alt+Space completes code with empty values.

2012-02-15 Thread Everton Vieira

Em 15/02/2012, às 07:21, Lukasz Sokol escreveu:

 On 14/02/2012 17:43, Everton Vieira wrote:
 How about Ctrl+Shift+Alt+Space completes the code with empty values.
 
 Like this:
 
 Trim();
 
 After Ctrl+Shift+Alt+Space inside that parentheses makes this:
 
 Trim('');
 
 Just, another idea. :)
 
 
 Trim is bad example :) but if you wanted Ctrl+Shift+Alt+Space to expand, e.g.
 
 AnsiReplaceString() 
 into
 AnsiReplaceString('','','')
 
 What would you put as 'empty' parameter for functions that have numeric 
 meaning,
 and don't really tolerate 0 as input

As a code complementation suggestion theres no need to put 0 instead is better 
only put the comma when the parameter is required.

 (hypothetical: function Divide(A: integer; B: integer):Real; 
 if you expand Divide() to Divide(0,0) and forget to put some meaningful 
 constant into B
 (or variable) you'll end up with executing div/0 and as such, an error)
 
 As such such expansion IMO is futile.

This idea came when i had to type about ten times a function like this func('', 
'', [], '', [] , []); wich time the parameters changed, of course i did ctrl+c 
ctrl+v. This would be only a very subtle behavior. Like every one knows, 
details are in the art of the elegancy.

 
 L. 
 
 
 --
 ___
 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] Should the at word be painted as reserved word ?

2012-02-15 Thread Marco van de Voort
On Mon, Feb 13, 2012 at 10:25:34AM +0800, Paul Ishenin wrote:
  According to my Sprachgef??hl this cannot be anything other than a
  reserved word. Its not an identifier, its not an operator, it can only
  be a reserved word.
 
 At is not a reserved word. It works only in the context of a raise 
 statement.

How is this different from until ?


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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Sven Barth

Am 15.02.2012 09:14, schrieb Michael Van Canneyt:


Hi,

I was doing some test programming for android.
The android SDK unit contains 68000 lines (.pas and .inc together).
Opening it in the IDE (by right-clicking an identifier in my sources)
virtually stops the IDE.

The source of the android include file are drawn, but the scrollbars are
not drawn, scrolling or navigating the source does not work, and the IDE
is generally totally unresponsive. Only closing the tab again makes the
IDE responsive.
(and even the closing takes a while).

All this is on Linux, GTK, 64-bit, Lazarus from yesterday.

Has anyone else experienced similar problems ?


Yes, me of course :D (also x86_64-linux, though the IDE is from around 
the beginning of the year)


Though it was bearable as I moved my Android development to my rather 
powerful machine (because JVM compilation is rather slow and also blocks 
my single core main computer -.- ) and used it through X11 forwarding...


Regards,
Sven


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Sven Barth

Am 15.02.2012 03:48, schrieb waldo kitty:

On 2/14/2012 14:40, Sven Barth wrote:

On 14.02.2012 19:33, waldo kitty wrote:

so why isn't this working??? what is the key step that has been left out
of the instructions??


What about trying not a keyword? What about things like FileExists,
TProcess, TForm (if the correct units are included of course).


ok, so i opened my satsort project and placed the cursor on Classes in
the uses statement and hit F1... /that/ worked! this project doesn't
have any GUI stuffs and is not process oriented (AFAIK) so i didn't
try those keywords (as i called them in my previous post)...

the lhelp window is opening /two/ indicators on my w2k status bar
(why??) and it is indicating lcl[] which indicates that it has found
the lcl.chm file... but there is also a fcl.chm and rtl.chm in place...

i am also getting a box, labeled Help selector to select one of
several (two in this case) identical entries... why is this??

also basic things like 'writeln', 'write', and similar do not give any
help... but then some stuff, like 'integer' popup with a Help selector
window as mentioned above and one of the two RTL (ahh! found a RTL[]
hit) options (objpas.pp) talks about redefinition of integer as 32-bit
type whereas the other one (systemh.inc) says a signed 16-bits
integer...

so which one is correct?



Both are correct. The default size of Integer in FPC is 2 Bytes (16 
Bit). Only if you use mode Delphi or ObjFPC the size is 4 Bytes (32 Bit) 
and there it is indeed introduced by the ObjPas unit which is 
automatically included by the compiler in these modes.



why are both being shown to me?

why does basic stuff, eg: 'write' and 'writeln' not have any help at all?



I don't know. At least the two ARE documented.


where is the help for items like 'PadRight', 'AddChar', 'PadLeft',
'AddCharR' and similar??


If you have the unit StrUtils included then it should work (it should be 
rtl.chm).



remember, we are coming at this as a pure newbie with some coding
knowledge, no books, and an extremely simple background in programing...
yes, much of the basic stuff really does need to be specified ;)


Regards,
Sven

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


Re: [Lazarus] Should the at word be painted as reserved word ?

2012-02-15 Thread Sven Barth

Am 15.02.2012 11:36, schrieb Marco van de Voort:

On Mon, Feb 13, 2012 at 10:25:34AM +0800, Paul Ishenin wrote:

According to my Sprachgef??hl this cannot be anything other than a
reserved word. Its not an identifier, its not an operator, it can only
be a reserved word.


At is not a reserved word. It works only in the context of a raise
statement.


How is this different from until ?


Maybe because the at was introduced rather late by Borland and then 
they didn't want to break compatibility with code that uses at as a 
variable or something. until is in the language for a long time 
(Delphi language, not Pascal language). Same with words like helper, 
read, write, default, requires, contains. They were all 
introduced afterwards (though there seem to be exceptions, so it's not 
easy to decide whether something is a global keyword or a context 
sensitive one).


Regards,
Sven


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Hans-Peter Diettrich

Michael Schnell schrieb:

To get context help for pascal language keywords, you need to install a 
combined chm file


Nope. Simply download the additional CHM files, and it works as expected.


(Se the lots of recent discussions on the help system that pointed out 
the benefits of DocView.)


I don't see a reason or need for another (incompatible) help system. 
Learn to use the existing one first, before praising other systems.


DoDi


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Hans-Peter Diettrich

waldo kitty schrieb:


Download all the CHM, and keyword help works (here, Win7).
I got ref, prog, user and toc CHMs, too.


hunh? there are only 3 in the ~16Meg 
fpc-lazarus-doc-chm-0.9.30.2.tar.bz2 file i pulled off of sourceforge as 
directed by the wiki page /scratching head


See 
http://wiki.lazarus.freepascal.org/Lazarus_Documentation#Free_Pascal_Compiler_Documentation
for a list of the FPC related documentation. There exists some confusion 
in the Wiki content, links and download sites. Good luck :-)


DoDi


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Hans-Peter Diettrich

waldo kitty schrieb:

also basic things like 'writeln', 'write', and similar do not give any 
help... but then some stuff, like 'integer' popup with a Help selector 
window as mentioned above and one of the two RTL (ahh! found a RTL[] 
hit) options (objpas.pp) talks about redefinition of integer as 32-bit 
type whereas the other one (systemh.inc) says a signed 16-bits 
integer...


so which one is correct?


IMO Integer is a compiler built-in type, and thus it doesn't have a 
reference to the current declaration. The same for Char and string types :-(


I already mentioned that flaw, and suggested conditional declarations:
{$IFDEF fpdocsystem}
type
  integer = LongInt;
  cardinal = LongWord;
  ...
  char = WideChar;
  string = UnicodeString;
  ...
{$ENDIF}

In my own docs I added topics for all basic types. Common to all these 
workarounds is the missing correspondence to the effective declarations, 
so that a signed 16-bits integer entry will survive ad nauseam, if 
nobody happens to find and update such entries. E.g. AnsiChar is 
described as an alias for Char, which in fact should read the opposite 
way, and nowadays even Char=WideChar.


I found no time yet to create an overview of all the basic (built-in) 
types, which would allow to update all these types in one single place, 
whenever the declarations are changed in the compiler.




why does basic stuff, eg: 'write' and 'writeln' not have any help at all?


Thanks, I didn't realize that yet. It's for the same reason: these are 
compiler magics, for which FPDoc doesn't find a declaration in the 
source code, and consequently ignores all such element, even if they 
exist in the XML files. See above for possible workarounds.



where is the help for items like 'PadRight', 'AddChar', 'PadLeft', 
'AddCharR' and similar??


I just can't find in which units these are declared. The FCL is only 
documented to a small percentage, perhaps these functions reside in such 
undocumented units?



remember, we are coming at this as a pure newbie with some coding 
knowledge, no books, and an extremely simple background in programing... 
yes, much of the basic stuff really does need to be specified ;)


Please create an according FPC bug report, if none exists yet, and hope 
that somebody will update the documentation.


DoDi


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Graeme Geldenhuys
On 15 February 2012 12:50, Hans-Peter Diettrich wrote:

 I don't see a reason or need for another (incompatible) help system. Learn
 to use the existing one first, before praising other systems.


Please explain or elaborate on incompatible help system? I do not
understand your comment or what you are referring too.


-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Sven Barth

Am 15.02.2012 07:52, schrieb Graeme Geldenhuys:

On 15 February 2012 04:58, waldo kitty  wrote:


i used the term 'keyword' to cover basic pascal verbs or whatever the
proper verbiage is for them... i also see/use this term to cover all library
items and am surprised that 'writeln' is not included in the RTL docs...


Those keywords are coverer in the RTL documentation. I see it in
DocView when I press F1, so there must be yet another bug in the CHM
files or viewer or CHM IDE integration.

For the writeln() keyword as you put it, DocView took me to RTL -
Reference for unit 'System'  Procedures and Functions  Writeln



It seems to be a problem of the IDE or the integration package, because 
searching for Writeln in the search tab of lHelp works (Note: Other 
identifiers that are not physically present in the system unit are not 
shown either, like Boolean. But e.g. PtrInt exists)


Regards,
Sven

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Sven Barth

Am 15.02.2012 11:18, schrieb Marco van de Voort:

On Tue, Feb 14, 2012 at 10:21:46PM +0100, felipemonteiro.carva...@gmail.com 
wrote:

Em 14/02/2012, ??s 19:33, waldo kittywkitt...@windstream.net  escreveu:

so why isn't this working??? what is the key step that has been left out of the 
instructions??


Read the wiki section title. Documentation for RTL, fcl, lcl. Nothing is
said about keywords as they are not part of those libraries but of the
language itself.


True.


It is for types, functions, classes, units, etc.  Not
keywords.  I don't know what is required for keywords help.


Putting ref.chm in the same directory. The keywords are in there for nearly
two years.

But iirc only .31 supports it, not .30. (and it is one of the things that
would be nice to backport to a future stable release)


As the next Lazarus release seems to be based on 0.9.31 (0.99) this does 
not seem to be a problem ;)


Regards,
Sven


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


Re: [Lazarus] Should the at word be painted as reserved word ?

2012-02-15 Thread Marco van de Voort
On Wed, Feb 15, 2012 at 11:51:27AM +0100, Sven Barth wrote:
 
  At is not a reserved word. It works only in the context of a raise
  statement.
 
  How is this different from until ?
 
 Maybe because the at was introduced rather late by Borland and then 
 they didn't want to break compatibility with code that uses at as a 
 variable or something. until is in the language for a long time 
 (Delphi language, not Pascal language). Same with words like helper, 
 read, write, default, requires, contains. They were all 
 introduced afterwards (though there seem to be exceptions, so it's not 
 easy to decide whether something is a global keyword or a context 
 sensitive one).

That was what I thought too initially. But there is also a gramatical
difference that in the case of repeat..until there is a zero or more
intermittent statements, while in the case of raise .. at there is one, and
only exactly one expression?


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Marco van de Voort
On Wed, Feb 15, 2012 at 11:58:11AM +0100, Sven Barth wrote:
  two years.
 
  But iirc only .31 supports it, not .30. (and it is one of the things that
  would be nice to backport to a future stable release)
 
 As the next Lazarus release seems to be based on 0.9.31 (0.99) this does 
 not seem to be a problem ;)

The last bit I heard was that a 30.3 would be inserted if the 0.99 stuff
took too long, and end of februari was considered as the decision point to
evaluate if 0.99 was close.

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Sven Barth

Am 15.02.2012 11:30, schrieb Hans-Peter Diettrich:

waldo kitty schrieb:


also basic things like 'writeln', 'write', and similar do not give any
help... but then some stuff, like 'integer' popup with a Help
selector window as mentioned above and one of the two RTL (ahh! found
a RTL[] hit) options (objpas.pp) talks about redefinition of integer
as 32-bit type whereas the other one (systemh.inc) says a signed
16-bits integer...

so which one is correct?


IMO Integer is a compiler built-in type, and thus it doesn't have a
reference to the current declaration. The same for Char and string types
:-(



You don't like to validate your assumptions, do you?

rtl/inc/systemh.inc, line 87:

Type
  { The compiler has all integer types defined internally. Here
we define only aliases }
  DWord= LongWord;
  Cardinal = LongWord;
  Integer  = SmallInt;
  UInt64   = QWord;

and rtl/objpas/objpas.pp, line 24:

{ first, in object pascal, the integer type must be redefined }
const
   MaxInt  = MaxLongint;
type
   Integer  = longint;



I already mentioned that flaw, and suggested conditional declarations:
{$IFDEF fpdocsystem}
type
integer = LongInt;
cardinal = LongWord;
...
char = WideChar;
string = UnicodeString;
...
{$ENDIF}

In my own docs I added topics for all basic types. Common to all these
workarounds is the missing correspondence to the effective declarations,
so that a signed 16-bits integer entry will survive ad nauseam, if
nobody happens to find and update such entries. E.g. AnsiChar is
described as an alias for Char, which in fact should read the opposite
way, and nowadays even Char=WideChar.

I found no time yet to create an overview of all the basic (built-in)
types, which would allow to update all these types in one single place,
whenever the declarations are changed in the compiler.


For the other types this is indeed true...


why does basic stuff, eg: 'write' and 'writeln' not have any help at all?


Thanks, I didn't realize that yet. It's for the same reason: these are
compiler magics, for which FPDoc doesn't find a declaration in the
source code, and consequently ignores all such element, even if they
exist in the XML files. See above for possible workarounds.


And again you didn't do a validation: Write and Writeln ARE documented. 
I don't know currently how Michael did it, but they are in the RTL 
documentation.



where is the help for items like 'PadRight', 'AddChar', 'PadLeft',
'AddCharR' and similar??


I just can't find in which units these are declared. The FCL is only
documented to a small percentage, perhaps these functions reside in such
undocumented units?


Open lHelp, go to Search, enter PadRight, be happy.

Alternatively in Google: padright site:freepascal.org (which will lead 
you to the documentation as well).


They are all declared (and documented) in StrUtils which belongs to the RTL.


remember, we are coming at this as a pure newbie with some coding
knowledge, no books, and an extremely simple background in
programing... yes, much of the basic stuff really does need to be
specified ;)


Please create an according FPC bug report, if none exists yet, and hope
that somebody will update the documentation.


Please validate first by either checking the documentation by hand 
(using lHelp's search) or using IDENTIFER site:freepascal.org on Google.


Regards,
Sven

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Graeme Geldenhuys
On 15 February 2012 12:30, Hans-Peter Diettrich  wrote:

 I found no time yet to create an overview of all the basic (built-in) types,
 which would allow to update all these types in one single place, whenever
 the declarations are changed in the compiler.


Once again you are creating unnecessary work for yourself. Michael van
Canneyt has already documented all the basic (built-in) types in the
FPC Language Reference (the chapter on Types). Can't get more clear
than that.

The difference between the size of Integer is also explained in that
documentation. See the attached image.


-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net
attachment: Screenshot-Free Pascal: Language Reference guide.png--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Should the at word be painted as reserved word ?

2012-02-15 Thread Sven Barth

Am 15.02.2012 12:03, schrieb Marco van de Voort:

On Wed, Feb 15, 2012 at 11:51:27AM +0100, Sven Barth wrote:


At is not a reserved word. It works only in the context of a raise
statement.


How is this different from until ?


Maybe because the at was introduced rather late by Borland and then
they didn't want to break compatibility with code that uses at as a
variable or something. until is in the language for a long time
(Delphi language, not Pascal language). Same with words like helper,
read, write, default, requires, contains. They were all
introduced afterwards (though there seem to be exceptions, so it's not
easy to decide whether something is a global keyword or a context
sensitive one).


That was what I thought too initially. But there is also a gramatical
difference that in the case of repeat..until there is a zero or more
intermittent statements, while in the case of raise .. at there is one, and
only exactly one expression?


What does this have to do with whether this is a keyword or not?

Regards,
Sven


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Graeme Geldenhuys
On 15 February 2012 12:30, Hans-Peter Diettrich  wrote:

 why does basic stuff, eg: 'write' and 'writeln' not have any help at all?


 Thanks, I didn't realize that yet. It's for the same reason: these are
 compiler magics, for which FPDoc doesn't find a declaration in the source


They ARE defined in the System unit and already documented. It shows
up fine here (INF  PDF help).


 where is the help for items like 'PadRight', 'AddChar', 'PadLeft',
 'AddCharR' and similar??


 I just can't find in which units these are declared.


Doesn't LHelp have a search function? Anyway, I found them documented
in the RTL in StrUtils unit.


 Please create an according FPC bug report, if none exists yet, and hope that
 somebody will update the documentation.

No, maybe use a help viewer that actually works. Then if it is still
not found or documented, report as a feature request or bug report.


-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread michael . vancanneyt



On Wed, 15 Feb 2012, Sven Barth wrote:


Am 15.02.2012 09:14, schrieb Michael Van Canneyt:


Hi,

I was doing some test programming for android.
The android SDK unit contains 68000 lines (.pas and .inc together).
Opening it in the IDE (by right-clicking an identifier in my sources)
virtually stops the IDE.

The source of the android include file are drawn, but the scrollbars are
not drawn, scrolling or navigating the source does not work, and the IDE
is generally totally unresponsive. Only closing the tab again makes the
IDE responsive.
(and even the closing takes a while).

All this is on Linux, GTK, 64-bit, Lazarus from yesterday.

Has anyone else experienced similar problems ?


Yes, me of course :D (also x86_64-linux, though the IDE is from around the 
beginning of the year)


Though it was bearable as I moved my Android development to my rather 
powerful machine (because JVM compilation is rather slow and also blocks my 
single core main computer -.- ) and used it through X11 forwarding...


My PC is an 4-core machine ?
It should be able to handle this with its fingers up its nose, I would think...

It's clearly an issue in drawing, because the code completion seems to work
fine.

Michael.

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Graeme Geldenhuys
On 15 February 2012 12:56, Sven Barth wrote:
 searching for Writeln in the search tab of lHelp works (Note: Other
 identifiers that are not physically present in the system unit are not shown
 either, like Boolean. But e.g. PtrInt exists)

In my setup, DocView is told to automatically open up 4 help files,
when I press F1. It loads the FPC Language Reference, RTL, FCL and
fpGUI class docs. So Boolean will be found in the FPC Language
Reference, PtrInt in the RTL etc. No need for me to open various help
files manually.


-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net

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


Re: [Lazarus] Should the at word be painted as reserved word ?

2012-02-15 Thread Marco van de Voort
On Wed, Feb 15, 2012 at 12:09:06PM +0100, Sven Barth wrote:
  That was what I thought too initially. But there is also a gramatical
  difference that in the case of repeat..until there is a zero or more
  intermittent statements, while in the case of raise .. at there is one, and
  only exactly one expression?
 
 What does this have to do with whether this is a keyword or not?

If only one expression, there is no conflict possible. If not a keyword, and
identifier can be defined as keyword, and the statement can be that keyword.

iow

raise at at is not ambiguous, the first at is the expression, the second
the keyword.

repeat until until _IS_ ambiguous.

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Graeme Geldenhuys
On 15 February 2012 13:17,  michael.vancanneyt@. wrote:
 It should be able to handle this with its fingers up its nose, I would
 think...

I can't say I heard that one before. :-)

Where can I find this unit and include file?  Is it part of the FCL?


-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Sven Barth

Am 15.02.2012 12:13, schrieb Graeme Geldenhuys:

On 15 February 2012 12:30, Hans-Peter Diettrich  wrote:



why does basic stuff, eg: 'write' and 'writeln' not have any help at all?



Thanks, I didn't realize that yet. It's for the same reason: these are
compiler magics, for which FPDoc doesn't find a declaration in the source



They ARE defined in the System unit and already documented. It shows
up fine here (INF  PDF help).


They are not defined in the System unit (they are compiler intrinsics), 
but they are indeed documented.



where is the help for items like 'PadRight', 'AddChar', 'PadLeft',
'AddCharR' and similar??



I just can't find in which units these are declared.



Doesn't LHelp have a search function? Anyway, I found them documented
in the RTL in StrUtils unit.


Yes, LHelp does have a search function (though I don't know what sorting 
it uses...)



Please create an according FPC bug report, if none exists yet, and hope that
somebody will update the documentation.


No, maybe use a help viewer that actually works. Then if it is still
not found or documented, report as a feature request or bug report.




1.) This seems to be a problem of the IDE or the integration package 
which can't find Writeln, etc. because they don't exist in the source.
2.) Verification for existance can also be done by searching manually in 
the documentation or using IDENTIFIER site:freepascal.org in Google.


Regards,
Sven

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Everton Vieira

Em 15/02/2012, às 09:17, michael.vancann...@wisa.be escreveu:

 
 
 On Wed, 15 Feb 2012, Sven Barth wrote:
 
 Am 15.02.2012 09:14, schrieb Michael Van Canneyt:
 Hi,
 I was doing some test programming for android.
 The android SDK unit contains 68000 lines (.pas and .inc together).
 Opening it in the IDE (by right-clicking an identifier in my sources)
 virtually stops the IDE.
 The source of the android include file are drawn, but the scrollbars are
 not drawn, scrolling or navigating the source does not work, and the IDE
 is generally totally unresponsive. Only closing the tab again makes the
 IDE responsive.
 (and even the closing takes a while).
 All this is on Linux, GTK, 64-bit, Lazarus from yesterday.
 Has anyone else experienced similar problems ?
 
 Yes, me of course :D (also x86_64-linux, though the IDE is from around the 
 beginning of the year)
 
 Though it was bearable as I moved my Android development to my rather 
 powerful machine (because JVM compilation is rather slow and also blocks my 
 single core main computer -.- ) and used it through X11 forwarding...
 
 My PC is an 4-core machine ?
 It should be able to handle this with its fingers up its nose, I would 
 think...
 
 It's clearly an issue in drawing, because the code completion seems to work
 fine.

If someone had to go on the drawing of the editor, please someone, consider to 
put lines to show block structure if an option is marked, like the cnpack does 
in delphi. I`m aware this is an complicanting of it, but is also a good feature 
that many likes.

 
 Michael.
 
 --
 ___
 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] installing chm help

2012-02-15 Thread Sven Barth

Am 15.02.2012 12:17, schrieb Graeme Geldenhuys:

On 15 February 2012 12:56, Sven Barth wrote:

searching for Writeln in the search tab of lHelp works (Note: Other
identifiers that are not physically present in the system unit are not shown
either, like Boolean. But e.g. PtrInt exists)


In my setup, DocView is told to automatically open up 4 help files,
when I press F1. It loads the FPC Language Reference, RTL, FCL and
fpGUI class docs. So Boolean will be found in the FPC Language
Reference, PtrInt in the RTL etc. No need for me to open various help
files manually.




Then it is indeed a problem of either the IDE or the integration 
package, because I have the ref.chm available as well. It might be that 
the IDE tries to find the identifier, but fails, because they are 
intrinsics (the help system does more checking and resolving than your 
external tool).


Regards,
Sven

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Sven Barth

Am 15.02.2012 12:21, schrieb Graeme Geldenhuys:

On 15 February 2012 13:17,michael.vancanneyt@.  wrote:

It should be able to handle this with its fingers up its nose, I would
think...


I can't say I heard that one before. :-)

Where can I find this unit and include file?  Is it part of the FCL?




Here 
http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/jvmbackend/rtl/android/jvm/ 
files androidr14.pas and androidr14.inc.


Regards,
Sven

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


Re: [Lazarus] SIGSEGV error on close.

2012-02-15 Thread zeljko
On Wednesday 15 of February 2012 10:06:18 Kjow wrote:
 Hi all,
 
 I'm getting this error on application close. Also with an empty project.
 Anyone have this?
 
 I just updated Lazarus/FPC via svn:
 
 Lazarus: 0.9.30.3 - 35369M
 FPC: 2.4.5 - r20352

Let me first take my crystall ball, then I'll answer to you ...
what OS ? what widgetset ? 

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread zeljko
On Wednesday 15 of February 2012 12:17:00 michael.vancann...@wisa.be wrote:
 On Wed, 15 Feb 2012, Sven Barth wrote:
  Am 15.02.2012 09:14, schrieb Michael Van Canneyt:
  Hi,
  
  I was doing some test programming for android.
  The android SDK unit contains 68000 lines (.pas and .inc together).
  Opening it in the IDE (by right-clicking an identifier in my sources)
  virtually stops the IDE.
  
  The source of the android include file are drawn, but the scrollbars are
  not drawn, scrolling or navigating the source does not work, and the IDE
  is generally totally unresponsive. Only closing the tab again makes the
  IDE responsive.
  (and even the closing takes a while).
  
  All this is on Linux, GTK, 64-bit, Lazarus from yesterday.
  
  Has anyone else experienced similar problems ?
  
  Yes, me of course :D (also x86_64-linux, though the IDE is from around
  the beginning of the year)
  
  Though it was bearable as I moved my Android development to my rather
  powerful machine (because JVM compilation is rather slow and also blocks
  my single core main computer -.- ) and used it through X11 forwarding...
 
 My PC is an 4-core machine ?
 It should be able to handle this with its fingers up its nose, I would
 think...
 
 It's clearly an issue in drawing, because the code completion seems to work
 fine.

Where's that unit ? I'll try with qt under linux.

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Michael Schnell

On 02/15/2012 11:30 AM, Hans-Peter Diettrich wrote:


where is the help for items like 'PadRight', 'AddChar', 'PadLeft', 
'AddCharR' and similar??


I just can't find in which units these are declared.


IMHO, the help viewer should do this for you and show any appropriate 
occurrence in the any of the docs.


-Michael

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


[Lazarus] i'm looking for tips on debugging deep nested code with recursive functions

2012-02-15 Thread ik
Hello,

I have a code with a lot of loops and recursive calls.
Somewhere at the code, at some point, I think I have an Off By One or
something similar that happens that break my code.
The question is, how would you suggest to compile such complicated
calls to figure out where the problem/s exists ?

I'm using Lazarus 0.9.31 r35319M FPC 2.5.1 x86_64-linux-gtk 2 if that's helps

Thanks,
Ido

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Hans-Peter Diettrich

Sven Barth schrieb:

Both are correct. The default size of Integer in FPC is 2 Bytes (16 
Bit). Only if you use mode Delphi or ObjFPC the size is 4 Bytes (32 Bit) 
and there it is indeed introduced by the ObjPas unit which is 
automatically included by the compiler in these modes.


This is another flaw in the documentation (system), that it is not 
properly configurable for the actual user environment. The RTL is almost 
only documented and pre-configured for *nix (include paths...), so that 
adding the Windows paths can produce strange results.


Of course cross-compilers can be installed on every machine, so that 
documentation for other platforms and build modes makes sense, to some 
degree. But when it leads to confusion as mentioned above, the 
documentation should contain something like your above clarification.


DoDi


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


Re: [Lazarus] Should the at word be painted as reserved word ?

2012-02-15 Thread Hans-Peter Diettrich

Marco van de Voort schrieb:

On Mon, Feb 13, 2012 at 10:25:34AM +0800, Paul Ishenin wrote:

According to my Sprachgef??hl this cannot be anything other than a
reserved word. Its not an identifier, its not an operator, it can only
be a reserved word.
At is not a reserved word. It works only in the context of a raise 
statement.


How is this different from until ?


Borland made a distinction between *reserved* words and *directives*. 
Reserved words cannot be used as identifiers, while directives are 
recognized as something special only in their related context, and can 
be used as identifiers in all other places. If you ever happened to 
write a break() or exit() procedure, you'll have noticed that your 
remaining code may fail with very strange errors, because these take 
precedence over the language-defined behaviour of break or exit.


DoDi


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


Re: [Lazarus] Should the at word be painted as reserved word ?

2012-02-15 Thread Marco van de Voort
On Wed, Feb 15, 2012 at 12:12:38PM +0100, Hans-Peter Diettrich wrote:
  be a reserved word.
  At is not a reserved word. It works only in the context of a raise 
  statement.
  
  How is this different from until ?
 
 Borland made a distinction between *reserved* words and *directives*. 
 Reserved words cannot be used as identifiers, while directives are 
 recognized as something special only in their related context, and can 
 be used as identifiers in all other places. If you ever happened to 
 write a break() or exit() procedure, you'll have noticed that your 
 remaining code may fail with very strange errors, because these take 
 precedence over the language-defined behaviour of break or exit.

I do know what they are. This thread is about the why.

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Michael Schnell

On 02/15/2012 11:50 AM, Hans-Peter Diettrich wrote:


Nope. Simply download the additional CHM files, and it works as expected.
I once asked how the CHM help can be configured to search across 
multiple files. I never got a positive answer. But things might be 
improved by now.

Learn to use the existing one first, before praising other systems.
The current discussions pointed out so many drawbacks regarding the CHM 
help, that I was not eager to try it (while DocvView does work rather 
nicely for me).


-Michael

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


Re: [Lazarus] i'm looking for tips on debugging deep nested code with recursive functions

2012-02-15 Thread Everton Vieira
Em 15/02/2012, às 09:49, ik escreveu:

 Hello,
 
 I have a code with a lot of loops and recursive calls.
 Somewhere at the code, at some point, I think I have an Off By One or
 something similar that happens that break my code.
 The question is, how would you suggest to compile such complicated
 calls to figure out where the problem/s exists ?

For debug that, would be nice to make some log of the behavior of the app, that 
i`ve been thinking this days, but in which doesn't get nothing at far as 
usable. Well you can make a lot of debugln to monitor the behavior of it to try 
to see where is the problem. But i`m freak sure is hard work.

 
 I'm using Lazarus 0.9.31 r35319M FPC 2.5.1 x86_64-linux-gtk 2 if that's helps
 
 Thanks,
 Ido
 
 --
 ___
 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] installing chm help

2012-02-15 Thread Marco van de Voort
On Wed, Feb 15, 2012 at 12:23:08PM +0100, Sven Barth wrote:
  Please create an according FPC bug report, if none exists yet, and hope 
  that
  somebody will update the documentation.
 
  No, maybe use a help viewer that actually works. Then if it is still
  not found or documented, report as a feature request or bug report.
 
 1.) This seems to be a problem of the IDE or the integration package 
 which can't find Writeln, etc. because they don't exist in the source.
 2.) Verification for existance can also be done by searching manually in 
 the documentation or using IDENTIFIER site:freepascal.org in Google.

I keep a textmode IDE with the CHMs installed as a quick doublecheck if it
is lazarus or the CHMs.

If that fails, I use chmls to extract the CHM, and inspect the content
manually.

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread stootch

W dniu 15.02.2012 09:14, Michael Van Canneyt pisze:


All this is on Linux, GTK, 64-bit, Lazarus from yesterday.

Has anyone else experienced similar problems ?



Just checked, both files load and display seamlessly. Navigation and 
search work like a charm.

I'm on Phenom 4 core, 4 GB RAM, Ubuntu 10.04.

stootch

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread stootch

W dniu 15.02.2012 13:12, stootch pisze:


I'm on Phenom 4 core, 4 GB RAM, Ubuntu 10.04.


I forgot to mention: Lazarus from today, 64 bit as well.

stootch

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


Re: [Lazarus] installing chm help

2012-02-15 Thread michael . vancanneyt



On Tue, 14 Feb 2012, waldo kitty wrote:


On 2/14/2012 14:40, Sven Barth wrote:

On 14.02.2012 19:33, waldo kitty wrote:

so why isn't this working??? what is the key step that has been left out
of the instructions??


What about trying not a keyword? What about things like FileExists,
TProcess, TForm (if the correct units are included of course).


also basic things like 'writeln', 'write', and similar do not give any 
help... but then some stuff, like 'integer' popup with a Help selector 
window as mentioned above and one of the two RTL (ahh! found a RTL[] hit) 
options (objpas.pp) talks about redefinition of integer as 32-bit type 
whereas the other one (systemh.inc) says a signed 16-bits integer...


so which one is correct?

why are both being shown to me?

why does basic stuff, eg: 'write' and 'writeln' not have any help at all?


Where do you get that from ? It is documented.

See

http://www.freepascal.org/docs-html/rtl/system/index-5.html

Select 'Writeln'

Which leads you to

http://www.freepascal.org/docs-html/rtl/system/writeln.html

etc.

where is the help for items like 'PadRight', 'AddChar', 'PadLeft', 'AddCharR' 
and similar??


http://www.freepascal.org/docs-html/rtl/strutils/index-5.html

Of course, you need to know in which unit an identifier is.

To overcome this problem, a search engine for the docs is in the making.
(in fact, it's finished, we just need to deploy it properly)

Michael.

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


Re: [Lazarus] i'm looking for tips on debugging deep nested code with recursive functions

2012-02-15 Thread ik
On Wed, Feb 15, 2012 at 13:59, Everton Vieira tonvie...@gmail.com wrote:
 Em 15/02/2012, às 09:49, ik escreveu:

 Hello,

 I have a code with a lot of loops and recursive calls.
 Somewhere at the code, at some point, I think I have an Off By One or
 something similar that happens that break my code.
 The question is, how would you suggest to compile such complicated
 calls to figure out where the problem/s exists ?

 For debug that, would be nice to make some log of the behavior of the app, 
 that i`ve been thinking this days, but in which doesn't get nothing at far as 
 usable. Well you can make a lot of debugln to monitor the behavior of it to 
 try to see where is the problem. But i`m freak sure is hard work.

I have a lot of prints on the screen (stderr even). but I just can't
figure out what am I missing. I know where it happens, and on what
level, but not why.



 I'm using Lazarus 0.9.31 r35319M FPC 2.5.1 x86_64-linux-gtk 2 if that's helps

 Thanks,
 Ido

 --
 ___
 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

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


Re: [Lazarus] installing chm help

2012-02-15 Thread michael . vancanneyt



On Wed, 15 Feb 2012, Hans-Peter Diettrich wrote:


waldo kitty schrieb:

also basic things like 'writeln', 'write', and similar do not give any 
help... but then some stuff, like 'integer' popup with a Help selector 
window as mentioned above and one of the two RTL (ahh! found a RTL[] hit) 
options (objpas.pp) talks about redefinition of integer as 32-bit type 
whereas the other one (systemh.inc) says a signed 16-bits integer...


so which one is correct?


IMO Integer is a compiler built-in type, and thus it doesn't have a 
reference to the current declaration. The same for Char and string types :-(


I already mentioned that flaw, and suggested conditional declarations:
{$IFDEF fpdocsystem}
type
 integer = LongInt;
 cardinal = LongWord;
 ...
 char = WideChar;
 string = UnicodeString;
 ...
{$ENDIF}


This is on my todo list.




why does basic stuff, eg: 'write' and 'writeln' not have any help at all?


Thanks, I didn't realize that yet. It's for the same reason: these are 
compiler magics, for which FPDoc doesn't find a declaration in the source 
code, and consequently ignores all such element, even if they exist in the 
XML files. See above for possible workarounds.


This is not correct. It has been documented for 12 years at least.
See my direct answer to the orginal post.




where is the help for items like 'PadRight', 'AddChar', 'PadLeft', 
'AddCharR' and similar??


I just can't find in which units these are declared. The FCL is only 
documented to a small percentage, perhaps these functions reside in such 
undocumented units?



remember, we are coming at this as a pure newbie with some coding 
knowledge, no books, and an extremely simple background in programing... 
yes, much of the basic stuff really does need to be specified ;)


Please create an according FPC bug report, if none exists yet, and hope that 
somebody will update the documentation.


It is documented since years, so no need for a bugreport.

Michael.

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Mattias Gaertner



zeljko zel...@holobit.net hat am 15. Februar 2012 um 12:44 geschrieben:

 On Wednesday 15 of February 2012 12:17:00 michael.vancann...@wisa.be wrote:
  On Wed, 15 Feb 2012, Sven Barth wrote:
   Am 15.02.2012 09:14, schrieb Michael Van Canneyt:
   Hi,
  
   I was doing some test programming for android.
   The android SDK unit contains 68000 lines (.pas and .inc together).
   Opening it in the IDE (by right-clicking an identifier in my sources)
   virtually stops the IDE.
  
   The source of the android include file are drawn, but the scrollbars
 are
   not drawn, scrolling or navigating the source does not work, and the
 IDE
   is generally totally unresponsive. Only closing the tab again makes
 the
   IDE responsive.
   (and even the closing takes a while).
  
   All this is on Linux, GTK, 64-bit, Lazarus from yesterday.
 
 
 I hope you mean GTK2.
 
 There are several monster units in the FPC sources. For example the gtk2
 with hundreds of include files and the MacOSAll with more than 250.000
 lines (before the split). The IDE worked fluently with them for years. On
 recent machines it takes one or two seconds to load and parse (plus I/O
 wait).
 
 Maybe the android unit uses some specials.
 
 
 
 
 
 [...]
  It's clearly an issue in drawing, because the code completion seems to
 work
  fine.
 
 Where's that unit ? I'll try with qt under linux.



Mattias

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread michael . vancanneyt



On Wed, 15 Feb 2012, Mattias Gaertner wrote:





zeljko zel...@holobit.net hat am 15. Februar 2012 um 12:44 geschrieben:


On Wednesday 15 of February 2012 12:17:00 michael.vancann...@wisa.be wrote:

On Wed, 15 Feb 2012, Sven Barth wrote:

Am 15.02.2012 09:14, schrieb Michael Van Canneyt:

Hi,

I was doing some test programming for android.
The android SDK unit contains 68000 lines (.pas and .inc together).
Opening it in the IDE (by right-clicking an identifier in my sources)
virtually stops the IDE.

The source of the android include file are drawn, but the scrollbars

are

not drawn, scrolling or navigating the source does not work, and the

IDE

is generally totally unresponsive. Only closing the tab again makes

the

IDE responsive.
(and even the closing takes a while).

All this is on Linux, GTK, 64-bit, Lazarus from yesterday.



I hope you mean GTK2.


Yes, sorry...



There are several monster units in the FPC sources. For example the gtk2
with hundreds of include files and the MacOSAll with more than 250.000
lines (before the split). The IDE worked fluently with them for years. On
recent machines it takes one or two seconds to load and parse (plus I/O
wait).


Yes, I was surprised to notice it.

Especially since on the last Lazarus day, Martin had been doing some work on
it. Since Sven Barth also has it, there must be something special going on.



Maybe the android unit uses some specials.


Well, it's full of Java import classes. The target is set to jvm, and as far
as I know, the ide 'understands' that. I have also most automatisms (folding
etc). switched off.

Anyway, Sven posted the URL where it can be found.

Michael.

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Graeme Geldenhuys
On 15 February 2012 13:25, Everton Vieira  wrote:

 If someone had to go on the drawing of the editor, please someone, consider 
 to put lines to show block structure if an option is marked, like the cnpack 
 does in delphi. I`m aware this is an complicanting of it, but is also a good 
 feature that many likes.


I don't know cnpack for Delphi, but I presume you mean the vertical
lines connecting begin/end blocks. If so, there is a way to get a
similar effect in Lazarus. This is what I have done for Lazarus Trunk
(I also have a patch for Lazarus 0.9.30.x if you need).

In synedit.pp change the value of SYNEDIT_DEFAULT_VISIBLESPECIALCHARS
to vscTabAtFirst. Recompile Lazarus. Then enable show special
characters in the editor options. If you use TAB indentation (like I
do), instead of 2xSpace indentation, then by increasing the tab width
enhances the visual effect. See attached screenshot.



-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net
attachment: editor.png--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] How about Ctrl+Shift+Alt+Space completes code with empty values.

2012-02-15 Thread Lukasz Sokol
On 15/02/2012 10:27, Everton Vieira wrote:
 
 
 As a code complementation suggestion theres no need to put 0 instead
 is better only put the comma when the parameter is required.
 
[...]

 
 This idea came when i had to type about ten times a function like
 this func('', '', [], '', [] , []); wich time the parameters changed,
 of course i did ctrl+c ctrl+v. This would be only a very subtle
 behavior. Like every one knows, details are in the art of the
 elegancy.
 

Well as such, it /may/ be viable and useful (put just commas _between_ 
parameters)
but '' and [] is making an exception to the rule so I'd rather
func(,) or func( , , , , , ) than what you suggest;
This however requires that you can only add parameters to the last place of 
definition,
and never-ever reorder them, having the editor track that you've added a 
parameter
in the middle of the definition and change invocation accordingly is probably 
not going
to be well-accepted maintenance-wise...

What for the functions that have parameters with default values, that are only 
used
in exceptional cases ? Do you want to show the non-default param placeholders 
only?

L.


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


Re: [Lazarus] Should the at word be painted as reserved word ?

2012-02-15 Thread Sven Barth

Am 15.02.2012 12:12, schrieb Hans-Peter Diettrich:

Marco van de Voort schrieb:

On Mon, Feb 13, 2012 at 10:25:34AM +0800, Paul Ishenin wrote:

According to my Sprachgef??hl this cannot be anything other than a
reserved word. Its not an identifier, its not an operator, it can only
be a reserved word.

At is not a reserved word. It works only in the context of a raise
statement.


How is this different from until ?


Borland made a distinction between *reserved* words and *directives*.
Reserved words cannot be used as identifiers, while directives are
recognized as something special only in their related context, and can
be used as identifiers in all other places. If you ever happened to
write a break() or exit() procedure, you'll have noticed that your
remaining code may fail with very strange errors, because these take
precedence over the language-defined behaviour of break or exit.


exit and break are different. They are compiler intrinsics, so they 
are basically functions/procedures. at (or read in the context of 
properties) is not an intrinsic, but a token.


To take this problem up to eleven: The following code compiles in FPC 
(and AFAIK Delphi as well):


type
  Message = record
ID: LongWord;
  end;

  TSomeClass = class
procedure Message(var Message: Message); message 23;
  end;

Here only the message in front of the 23 is a keyword (or better 
directive).


Regards,
Sven


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Hans-Peter Diettrich

Sven Barth schrieb:


IMO Integer is a compiler built-in type, and thus it doesn't have a
reference to the current declaration. The same for Char and string types
:-(



You don't like to validate your assumptions, do you?


You're right, the *basic* types (SmallInt...) are not documented, the 
*generic* types are. That's why I added IMO, because I was too lazy 
ATM to dig deeper into the problems.



rtl/inc/systemh.inc, line 87:

Type
  { The compiler has all integer types defined internally. Here
we define only aliases }
  DWord= LongWord;
  Cardinal = LongWord;
  Integer  = SmallInt;
  UInt64   = QWord;


One problem is the missing declaration of SmallInt, which makes the 
Integer declaration useless.



and rtl/objpas/objpas.pp, line 24:

{ first, in object pascal, the integer type must be redefined }
const
   MaxInt  = MaxLongint;
type
   Integer  = longint;


...what causes further confusion. I accept that a documentation 
*generator* can not know about the later setting of the compiler mode. 
An IDE might know that mode and the target platform, though. But how 
should it propagate that knowledge to the help viewer? And how shall the 
user know which of the duplicate entries applies?



Please validate first by either checking the documentation by hand 
(using lHelp's search) or using IDENTIFER site:freepascal.org on Google.


I trust a user when he says that something doesn't work, e.g. he doesn't 
get help displayed for some keyword. Next comes the search for the 
reason, maybe a configuration only, or a more general problem. And there 
I search in my knowledge base for similar items, but because human 
brains work differently from computer storage, my memory may be 
misadjusted, but it is not normally plain wrong.


DoDi


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Hans-Peter Diettrich

Graeme Geldenhuys schrieb:


Once again you are creating unnecessary work for yourself. Michael van
Canneyt has already documented all the basic (built-in) types in the
FPC Language Reference (the chapter on Types). Can't get more clear
than that.


Sorry, I just tried SmallInt and could not find an according entry. 
Even types leads to a single meaningless sentence about unit types :-(


That's why I added topics for all these identifiers, which then can link 
to an overview or whatsoever, for more precise information.


It's like with the information in a wiki: an entry is useless if it 
cannot be found.


DoDi


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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Graeme Geldenhuys
On 15 February 2012 13:27, Sven Barth  wrote:

 Here
 http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/jvmbackend/rtl/android/jvm/
 files androidr14.pas and androidr14.inc.


Thanks.

Tested here under Lazarus 0.9.30.1 r33214M FPC 2.5.1 x86_64-linux-gtk
2 and it works fine performance wise. But I can say that while I'm in
the *.inc file and I do a Unit Info - Go to include directive, it
goes to the wrong line of code in the *.pas file.


-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net

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


Re: [Lazarus] How about Ctrl+Shift+Alt+Space completes code with empty values.

2012-02-15 Thread Everton Vieira

Em 15/02/2012, às 10:35, Lukasz Sokol escreveu:

 On 15/02/2012 10:27, Everton Vieira wrote:
 
 
 As a code complementation suggestion theres no need to put 0 instead
 is better only put the comma when the parameter is required.
 
 [...]
 
 
 This idea came when i had to type about ten times a function like
 this func('', '', [], '', [] , []); wich time the parameters changed,
 of course i did ctrl+c ctrl+v. This would be only a very subtle
 behavior. Like every one knows, details are in the art of the
 elegancy.
 
 
 Well as such, it /may/ be viable and useful (put just commas _between_ 
 parameters)
 but '' and [] is making an exception to the rule so I'd rather

The exceptions are the ones that makes shine.

 func(,) or func( , , , , , ) than what you suggest;
 This however requires that you can only add parameters to the last place of 
 definition,

Why is that so? Is only a code complementation.

 and never-ever reorder them, having the editor track that you've added a 
 parameter

Same here.

 in the middle of the definition and change invocation accordingly is probably 
 not going
 to be well-accepted maintenance-wise...
 
 What for the functions that have parameters with default values, that are 
 only used
 in exceptional cases ? Do you want to show the non-default param placeholders 
 only?

The default lets not complete, after all, they have default values just because 
isn`t need in a considered number of cases.

Ctrl+Shift+C specialized is the better option for, i guess.

 
 L.
 
 
 --
 ___
 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] Should the at word be painted as reserved word ?

2012-02-15 Thread Hans-Peter Diettrich

Marco van de Voort schrieb:

On Wed, Feb 15, 2012 at 12:12:38PM +0100, Hans-Peter Diettrich wrote:

be a reserved word.
At is not a reserved word. It works only in the context of a raise 
statement.

How is this different from until ?
Borland made a distinction between *reserved* words and *directives*. 
Reserved words cannot be used as identifiers, while directives are 
recognized as something special only in their related context, and can 
be used as identifiers in all other places. If you ever happened to 
write a break() or exit() procedure, you'll have noticed that your 
remaining code may fail with very strange errors, because these take 
precedence over the language-defined behaviour of break or exit.


I do know what they are. This thread is about the why.


Why what? One is a decision of the language designers, another one the 
decision of the syntax highlighter.


DoDi


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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Sven Barth

Am 15.02.2012 13:46, schrieb Graeme Geldenhuys:

On 15 February 2012 13:27, Sven Barth  wrote:


Here
http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/jvmbackend/rtl/android/jvm/
files androidr14.pas and androidr14.inc.



Thanks.

Tested here under Lazarus 0.9.30.1 r33214M FPC 2.5.1 x86_64-linux-gtk
2 and it works fine performance wise. But I can say that while I'm in
the *.inc file and I do a Unit Info -  Go to include directive, it
goes to the wrong line of code in the *.pas file.




You should use trunk for JVM related units. 0.9.30(.x) can not handle 
the JVM specific differences and language extensions.


Regards,
Sven

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


Re: [Lazarus] How about Ctrl+Shift+Alt+Space completes code with empty values.

2012-02-15 Thread Everton Vieira
And of course there`s the overload statements, that can receive an 
special/exceptional treatment as well.

Em 15/02/2012, às 10:50, Everton Vieira escreveu:

 
 Em 15/02/2012, às 10:35, Lukasz Sokol escreveu:
 
 On 15/02/2012 10:27, Everton Vieira wrote:
 
 
 As a code complementation suggestion theres no need to put 0 instead
 is better only put the comma when the parameter is required.
 
 [...]
 
 
 This idea came when i had to type about ten times a function like
 this func('', '', [], '', [] , []); wich time the parameters changed,
 of course i did ctrl+c ctrl+v. This would be only a very subtle
 behavior. Like every one knows, details are in the art of the
 elegancy.
 
 
 Well as such, it /may/ be viable and useful (put just commas _between_ 
 parameters)
 but '' and [] is making an exception to the rule so I'd rather
 
 The exceptions are the ones that makes shine.
 
 func(,) or func( , , , , , ) than what you suggest;
 This however requires that you can only add parameters to the last place of 
 definition,
 
 Why is that so? Is only a code complementation.
 
 and never-ever reorder them, having the editor track that you've added a 
 parameter
 
 Same here.
 
 in the middle of the definition and change invocation accordingly is 
 probably not going
 to be well-accepted maintenance-wise...
 
 What for the functions that have parameters with default values, that are 
 only used
 in exceptional cases ? Do you want to show the non-default param 
 placeholders only?
 
 The default lets not complete, after all, they have default values just 
 because isn`t need in a considered number of cases.
 
 Ctrl+Shift+C specialized is the better option for, i guess.
 
 
 L.
 
 
 --
 ___
 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] Lazarus slow on large files

2012-02-15 Thread Sven Barth

Am 15.02.2012 13:52, schrieb Sven Barth:

Am 15.02.2012 13:46, schrieb Graeme Geldenhuys:

On 15 February 2012 13:27, Sven Barth wrote:


Here
http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/jvmbackend/rtl/android/jvm/

files androidr14.pas and androidr14.inc.



Thanks.

Tested here under Lazarus 0.9.30.1 r33214M FPC 2.5.1 x86_64-linux-gtk
2 and it works fine performance wise. But I can say that while I'm in
the *.inc file and I do a Unit Info - Go to include directive, it
goes to the wrong line of code in the *.pas file.




You should use trunk for JVM related units. 0.9.30(.x) can not handle
the JVM specific differences and language extensions.


Oh, and switch the IDE to platform JVM and target Android then.

Regards,
Sven


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


Re: [Lazarus] installing chm help

2012-02-15 Thread Graeme Geldenhuys
On 15 February 2012 14:25, Hans-Peter Diettrich  wrote:

 Sorry, I just tried SmallInt and could not find an according entry. Even
 types leads to a single meaningless sentence about unit types :-(


See my previous screenshot of the FPC Language Reference showing the
help for the Integer type. In that screenshot you can also see the
entry for SmallInt - clearly defined size and range.


-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Marco van de Voort
On Wed, Feb 15, 2012 at 12:59:52PM +0100, Michael Schnell wrote:
  Nope. Simply download the additional CHM files, and it works as expected.
 I once asked how the CHM help can be configured to search across 
 multiple files.

There is no CHM help. There is Lazarus help, which loads the indexes from
individual CHMs, and a viewer for single CHMs.

IOW, afaik such searches are part of lazarus, not the viewer.

Your judging CHM on Docview based assumptions. Docviewer holds an own
helpfile registration, lhelp not, it is lazarus' slave.

 I never got a positive answer. 

That's because the question is vague and unclear.

  Learn to use the existing one first, before praising other systems.
 The current discussions pointed out so many drawbacks regarding the CHM 
 help, that I was not eager to try it (while DocvView does work rather 
 nicely for me).

Those are mostly noise from Hans and Graeme, not defects per se. Sometimes
they are minor implementation flaws presented as fundamental defects.

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


Re: [Lazarus] i'm looking for tips on debugging deep nested code with recursive functions

2012-02-15 Thread ik
On Wed, Feb 15, 2012 at 14:19, ik ido...@gmail.com wrote:
 On Wed, Feb 15, 2012 at 13:59, Everton Vieira tonvie...@gmail.com wrote:
 Em 15/02/2012, às 09:49, ik escreveu:

 Hello,

 I have a code with a lot of loops and recursive calls.
 Somewhere at the code, at some point, I think I have an Off By One or
 something similar that happens that break my code.
 The question is, how would you suggest to compile such complicated
 calls to figure out where the problem/s exists ?

 For debug that, would be nice to make some log of the behavior of the app, 
 that i`ve been thinking this days, but in which doesn't get nothing at far 
 as usable. Well you can make a lot of debugln to monitor the behavior of it 
 to try to see where is the problem. But i`m freak sure is hard work.

 I have a lot of prints on the screen (stderr even). but I just can't
 figure out what am I missing. I know where it happens, and on what
 level, but not why.

Simple debug conditions works. found the reason, but not what cause it :)




 I'm using Lazarus 0.9.31 r35319M FPC 2.5.1 x86_64-linux-gtk 2 if that's 
 helps

 Thanks,
 Ido

 --
 ___
 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

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread michael . vancanneyt



On Wed, 15 Feb 2012, Graeme Geldenhuys wrote:


On 15 February 2012 13:27, Sven Barth  wrote:


Here
http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/jvmbackend/rtl/android/jvm/
files androidr14.pas and androidr14.inc.



Thanks.

Tested here under Lazarus 0.9.30.1 r33214M FPC 2.5.1 x86_64-linux-gtk
2 and it works fine performance wise. But I can say that while I'm in
the *.inc file and I do a Unit Info - Go to include directive, it
goes to the wrong line of code in the *.pas file.


Hm. You use a very old lazarus.

Here at work (an older lazarus than at home, 34764) it opens the file without 
speed problems.


But the codetools don't work. I can't jump to ADSSqliteOpenHelper in the
following code snippet from Sven Barth's Trainlog example (traindata unit)

Type
  TTrainLogHelper = class(ADSSqliteOpenHelper)
  strict private
function GetNameOfTrainFamily(aID: jlong): String;

So something is still not OK. My .xsession-errors gives:

home/michael/FPC/jvmbackend/rtl/android/jvm/androidr14.pas
### TCodeToolManager.HandleExcption: : expected, but 'java.lang' found at Line=11763 
Col=35 in /home/michael/FPC/jvmbackend/rtl/android/jvm/androidr14.pas
### TCodeToolManager.HandleException: : expected, but 'java.lang' found at Line=11763 
Col=35 in /home/michael/FPC/jvmbackend/rtl/android/jvm/androidr14.pas
### TCodeToolManager.HandleException: : expected, but 'java.lang' found at Line=11763 
Col=35 in /home/michael/FPC/jvmbackend/rtl/android/jvm/androidr14.pas
### TCodeToolManager.HandleException: : expected, but 'java.lang' found at Line=11763 
Col=35 in /home/michael/FPC/jvmbackend/rtl/android/jvm/androidr14.pas
### TCodeToolManager.HandleException: : expected, but 'java.lang' found

Which means it can't grok things like
  JLStringBuffer = class external 'java.lang' name 'StringBuffer';

Maybe the difference in speed is that the code tools now understand more and
are therefor slower ?

Michael.

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


Re: [Lazarus] i'm looking for tips on debugging deep nested code with recursive functions

2012-02-15 Thread Everton Vieira

Em 15/02/2012, às 11:01, ik escreveu:

 On Wed, Feb 15, 2012 at 14:19, ik ido...@gmail.com wrote:
 On Wed, Feb 15, 2012 at 13:59, Everton Vieira tonvie...@gmail.com wrote:
 Em 15/02/2012, às 09:49, ik escreveu:
 
 Hello,
 
 I have a code with a lot of loops and recursive calls.
 Somewhere at the code, at some point, I think I have an Off By One or
 something similar that happens that break my code.
 The question is, how would you suggest to compile such complicated
 calls to figure out where the problem/s exists ?
 
 For debug that, would be nice to make some log of the behavior of the app, 
 that i`ve been thinking this days, but in which doesn't get nothing at far 
 as usable. Well you can make a lot of debugln to monitor the behavior of it 
 to try to see where is the problem. But i`m freak sure is hard work.
 
 I have a lot of prints on the screen (stderr even). but I just can't
 figure out what am I missing. I know where it happens, and on what
 level, but not why.
 
 Simple debug conditions works. found the reason, but not what cause it :)

I think you`ll have to go and see the three with its roots and so on that will 
happen to generate your problem.
I think only with that view would be able to solve it. Specially in a app with 
recursive behavior. That`s in some cases is a lot complex. So, my guess 
remains, a lot of debugln.

 
 
 
 
 I'm using Lazarus 0.9.31 r35319M FPC 2.5.1 x86_64-linux-gtk 2 if that's 
 helps
 
 Thanks,
 Ido
 
 --
 ___
 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
 
 --
 ___
 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] installing chm help

2012-02-15 Thread Felipe Monteiro de Carvalho
On Wed, Feb 15, 2012 at 2:02 PM, Marco van de Voort mar...@stack.nl wrote:
 There is no CHM help. There is Lazarus help, which loads the indexes from
 individual CHMs, and a viewer for single CHMs.

Correction: LHelp can view and handle multiple CHM files at the same
time and will keep multiple CHMs loaded.

-- 
Felipe Monteiro de Carvalho

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Michael Schnell

On 02/15/2012 02:02 PM, Marco van de Voort wrote:

There is no CHM help. ...
Sorry for being vague. I learned that the help viewer for the Lazarus 
IDE is installed as a package. What I meant is the installable help 
viewer that works on CHM files.


That's because the question is vague and unclear. 

Sorry for that. I did not notice.

Those are mostly noise from Hans and Graeme,

What about Waldo, to whom my first answer in this thread was sent ?

not defects per se. Sometimes
they are minor implementation flaws presented as fundamental defects.
That is why I am waiting for somebody claiming that an updated version 
is available that is supposed to be appropriately dummy-friendly.


I'll be happy to test that one.

-Michael

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Graeme Geldenhuys
On 15 February 2012 15:04,  michael.vancanneyt@... wrote:

 Hm. You use a very old lazarus.

If it ain't broken, don't fix it.  :-)   This applies doubly so to
Lazarus - though I do have a couple of my own fixes or mods applied
[itches need to be scratched every now and again].


 But the codetools don't work. I can't jump to ADSSqliteOpenHelper in the
 following code snippet from Sven Barth's Trainlog example (traindata unit)

Ah, I can't jump (Ctrl+LeftClick) in code either. But that might be
due to Sven's comment - 0.9.30.x is not meant to be used with JVM
code.


-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Sven Barth

Am 15.02.2012 14:28, schrieb Graeme Geldenhuys:

On 15 February 2012 15:04,michael.vancanneyt@... wrote:


Hm. You use a very old lazarus.


If it ain't broken, don't fix it.  :-)   This applies doubly so to
Lazarus - though I do have a couple of my own fixes or mods applied
[itches need to be scratched every now and again].


This does not help if some features that one needs (or wants) are only 
implemented in trunk... (yes, I'm aware that one could merge manually, 
but it's far easier for me to just use trunk)



But the codetools don't work. I can't jump to ADSSqliteOpenHelper in the
following code snippet from Sven Barth's Trainlog example (traindata unit)


Ah, I can't jump (Ctrl+LeftClick) in code either. But that might be
due to Sven's comment - 0.9.30.x is not meant to be used with JVM
code.




Jupp... if you look back at this thread 
http://lists.lazarus.freepascal.org/pipermail/lazarus/2011-December/069446.html 
you'll see that I bothered Matthias quite a bit for getting Lazarus up 
to date with JVM development. :)


Regards,
Sven


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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Mattias Gaertner

michael.vancann...@wisa.be hat am 15. Februar 2012 um 12:17 geschrieben:

[...]
  Though it was bearable as I moved my Android development to my rather
  powerful machine (because JVM compilation is rather slow and also
blocks my
  single core main computer -.- ) and used it through X11 forwarding...

 My PC is an 4-core machine ?
 It should be able to handle this with its fingers up its nose, I would
think...

 It's clearly an issue in drawing, because the code completion seems to
work
 fine.


No, here the codetools and synedit are fast with the android unit.
The problem is the code explorer.
Maybe the recent changes to TTreeView.

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


Re: [Lazarus] Should the at word be painted as reserved word ?

2012-02-15 Thread Martin

On 15/02/2012 10:51, Sven Barth wrote:

Am 15.02.2012 11:36, schrieb Marco van de Voort:

On Mon, Feb 13, 2012 at 10:25:34AM +0800, Paul Ishenin wrote:

According to my Sprachgef??hl this cannot be anything other than a
reserved word. Its not an identifier, its not an operator, it can only
be a reserved word.


At is not a reserved word. It works only in the context of a raise
statement.


How is this different from until ?


Maybe because the at was introduced rather late by Borland and then 
they didn't want to break compatibility with code that uses at as a 
variable or something. until is in the language for a long time 
(Delphi language, not Pascal language). Same with words like helper, 
read, write, default, requires, contains. They were all 
introduced afterwards (though there seem to be exceptions, so it's not 
easy to decide whether something is a global keyword or a context 
sensitive one).


Correct me, but

var
  until: boolean;

does not compile, while

var
  at: boolean;


does compile

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Mattias Gaertner

Mattias Gaertner nc-gaert...@netcologne.de hat am 15. Februar 2012 um
15:26 geschrieben:

 
 
 
 
 michael.vancann...@wisa.be hat am 15. Februar 2012 um 12:17 geschrieben:
 
 [...]
   Though it was bearable as I moved my Android development to my rather
   powerful machine (because JVM compilation is rather slow and also
 blocks my
   single core main computer -.- ) and used it through X11 forwarding...
 
  My PC is an 4-core machine ?
  It should be able to handle this with its fingers up its nose, I would
 think...
 
  It's clearly an issue in drawing, because the code completion seems to
 work
  fine.
 
 
 No, here the codetools and synedit are fast with the android unit.
 The problem is the code explorer.
 Maybe the recent changes to TTreeView.


Yes. It is TLazAccessibleObject.GetChildAccessibleObjectWithDataObject. It
uses a linear search for the 10.000 items. I will replace it with an avl
tree.


Mattias

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


Re: [Lazarus] Should the at word be painted as reserved word ?

2012-02-15 Thread Sven Barth

Am 15.02.2012 15:32, schrieb Martin:

On 15/02/2012 10:51, Sven Barth wrote:

Am 15.02.2012 11:36, schrieb Marco van de Voort:

On Mon, Feb 13, 2012 at 10:25:34AM +0800, Paul Ishenin wrote:

According to my Sprachgef??hl this cannot be anything other than a
reserved word. Its not an identifier, its not an operator, it can only
be a reserved word.


At is not a reserved word. It works only in the context of a raise
statement.


How is this different from until ?


Maybe because the at was introduced rather late by Borland and then
they didn't want to break compatibility with code that uses at as a
variable or something. until is in the language for a long time
(Delphi language, not Pascal language). Same with words like helper,
read, write, default, requires, contains. They were all
introduced afterwards (though there seem to be exceptions, so it's not
easy to decide whether something is a global keyword or a context
sensitive one).


Correct me, but

var
until: boolean;

does not compile, while

var
at: boolean;


does compile


Yes, that is correct.

Looking at my message again there might have been a misunderstanding:

until is in Object Pascal since the beginning, but maybe the at part 
was introduced later. Other keywords like helper were also introduced 
later so instead of breaking working code Borland decided to make them 
context sensitive. That's my theory for this.


Regards,
Sven


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


Re: [Lazarus] i'm looking for tips on debugging deep nested code with recursive functions

2012-02-15 Thread Martin

On 15/02/2012 12:19, ik wrote:

On Wed, Feb 15, 2012 at 13:59, Everton Vieiratonvie...@gmail.com  wrote:

Em 15/02/2012, às 09:49, ik escreveu:


Hello,

I have a code with a lot of loops and recursive calls.
Somewhere at the code, at some point, I think I have an Off By One or
something similar that happens that break my code.
The question is, how would you suggest to compile such complicated
calls to figure out where the problem/s exists ?

For debug that, would be nice to make some log of the behavior of the app, that 
i`ve been thinking this days, but in which doesn't get nothing at far as 
usable. Well you can make a lot of debugln to monitor the behavior of it to try 
to see where is the problem. But i`m freak sure is hard work.

I have a lot of prints on the screen (stderr even). but I just can't
figure out what am I missing. I know where it happens, and on what
level, but not why.



For logging info on nested stuff. have a look at Debugln / DebuglnEnter 
/ DebuglnExit  (LclProc, trunk LazLogger)


Procedure Foo;
begin
  DebuglnEnter('now in foo')
  try  // optional

  Bar(Foo());
  Debugln('123');

  finally
  DebuglnExit('leaving foo')
  end
end;

All Debugln in the block are indented with 2 spaces per level (or 
prefixed number, if more than 15 spaces)


So that gives a nice log


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


Re: [Lazarus] i'm looking for tips on debugging deep nested code with recursive functions

2012-02-15 Thread Martin

On 15/02/2012 13:01, ik wrote:

On Wed, Feb 15, 2012 at 14:19, ikido...@gmail.com  wrote:

On Wed, Feb 15, 2012 at 13:59, Everton Vieiratonvie...@gmail.com  wrote:

Em 15/02/2012, às 09:49, ik escreveu:


Hello,

I have a code with a lot of loops and recursive calls.
Somewhere at the code, at some point, I think I have an Off By One or
something similar that happens that break my code.
The question is, how would you suggest to compile such complicated
calls to figure out where the problem/s exists ?

For debug that, would be nice to make some log of the behavior of the app, that 
i`ve been thinking this days, but in which doesn't get nothing at far as 
usable. Well you can make a lot of debugln to monitor the behavior of it to try 
to see where is the problem. But i`m freak sure is hard work.

I have a lot of prints on the screen (stderr even). but I just can't
figure out what am I missing. I know where it happens, and on what
level, but not why.

Simple debug conditions works. found the reason, but not what cause it :)


If you know the variable, and where it first exists:

trunk has watchpoints, so you can stop when the variable changes.

Note depending on cpu, the number of watchpoints (and the possible size 
of value) vary.  he error is only given when trying to run/step.


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


[Lazarus] [Lazarusdev] CNPack lines

2012-02-15 Thread Martin

On 15/02/2012 11:25, Everton Vieira wrote:

If someone had to go on the drawing of the editor, please someone,
consider to put lines to show block structure if an option is marked,
like the cnpack does in delphi. I`m aware this is an complicanting of
it, but is also a good feature that many likes.


I know of them for a long time, and yes I do have plans to add them.
But I have still other things on top of my list.

I don't have Delphi with CNPack, but out of interest:
If you put 1000 lines (fill each line with caption := 
'a'+#44+inttostr(9); / Maybe a few nested If) between the begin and 
end of an If = does it slow down?


I know that is not likely code, but ...

Just to make the point, load MacOsAll (packages/univint from an older 
fpc 2.4.0 (300.000 lines) in delphi, select all (ctrl-a). In turbo 
delphi (2007) you can now go get your coffee. It will be locked up for 
minutes (my guess: the  search for equal words, for syncro edit)



And also there are other bits: currently Lazarus highlighter does have 
no awareness of the statement. it goes from begin to end (well that 
could still draw a line, but does not mark the IF

 If a =1 then
 begin
Folding starts at begin too, not at if
(of course, as I said, that is not a stopper)

---
The main issue s finding all the outer the block begin, in a fast way.

Actually that is now work in progress (still low prior). It is needed by 
another feature. (for preview compile trunk with WithSynInfoView 
defined). Open a file with 100.000 lines go to the end, navigate (it 
will be noticeable slow)



___
Lazarusdev mailing list
lazarus...@freepascal.org
http://idefix.wisa.be/mailman/listinfo/lazarusdev

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


Re: [Lazarus] [Lazarusdev] CNPack lines

2012-02-15 Thread Everton Vieira

Em 15/02/2012, às 12:47, Martin escreveu:

 On 15/02/2012 11:25, Everton Vieira wrote:
 If someone had to go on the drawing of the editor, please someone,
 consider to put lines to show block structure if an option is marked,
 like the cnpack does in delphi. I`m aware this is an complicanting of
 it, but is also a good feature that many likes.
 
 I know of them for a long time, and yes I do have plans to add them.

So good! I`m sure many will appreciate that.

 But I have still other things on top of my list.
 
 I don't have Delphi with CNPack, but out of interest:
 If you put 1000 lines (fill each line with caption := 'a'+#44+inttostr(9); 
 / Maybe a few nested If) between the begin and end of an If = does it slow 
 down?
 
 I know that is not likely code, but ...
 
 Just to make the point, load MacOsAll (packages/univint from an older fpc 
 2.4.0 (300.000 lines) in delphi, select all (ctrl-a). In turbo delphi (2007) 
 you can now go get your coffee.

k, maybe some cookies also. Just kidding.

 It will be locked up for minutes (my guess: the  search for equal words, for 
 syncro edit)
 
 
 And also there are other bits: currently Lazarus highlighter does have no 
 awareness of the statement. it goes from begin to end (well that could still 
 draw a line, but does not mark the IF
 If a =1 then
 begin
 Folding starts at begin too, not at if
 (of course, as I said, that is not a stopper)
 
 ---
 The main issue s finding all the outer the block begin, in a fast way.
 
 Actually that is now work in progress (still low prior). It is needed by 
 another feature. (for preview compile trunk with WithSynInfoView defined). 
 Open a file with 100.000 lines go to the end, navigate (it will be noticeable 
 slow)
 
 
 ___
 Lazarusdev mailing list
 lazarus...@freepascal.org
 http://idefix.wisa.be/mailman/listinfo/lazarusdev
 
 --
 ___
 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] i'm looking for tips on debugging deep nested code with recursive functions

2012-02-15 Thread ik
On Wed, Feb 15, 2012 at 16:45, Martin laza...@mfriebe.de wrote:
 On 15/02/2012 13:01, ik wrote:

 On Wed, Feb 15, 2012 at 14:19, ikido...@gmail.com  wrote:

 On Wed, Feb 15, 2012 at 13:59, Everton Vieiratonvie...@gmail.com
  wrote:

 Em 15/02/2012, às 09:49, ik escreveu:

 Hello,

 I have a code with a lot of loops and recursive calls.
 Somewhere at the code, at some point, I think I have an Off By One or
 something similar that happens that break my code.
 The question is, how would you suggest to compile such complicated
 calls to figure out where the problem/s exists ?

 For debug that, would be nice to make some log of the behavior of the
 app, that i`ve been thinking this days, but in which doesn't get nothing at
 far as usable. Well you can make a lot of debugln to monitor the behavior 
 of
 it to try to see where is the problem. But i`m freak sure is hard work.

 I have a lot of prints on the screen (stderr even). but I just can't
 figure out what am I missing. I know where it happens, and on what
 level, but not why.

 Simple debug conditions works. found the reason, but not what cause it :)


 If you know the variable, and where it first exists:

 trunk has watchpoints, so you can stop when the variable changes.

 Note depending on cpu, the number of watchpoints (and the possible size of
 value) vary.  he error is only given when trying to run/step.

Thanks. I finally figure out what happens. and It was off by 2 :)
I had an inc(Index, 2); without checking first if it required, and 99%
of the time it does, but 1% it does not, and that's the reason for the
bug.
I can dig now a hole to China :)



 --
 ___
 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] Lazarus slow on large files

2012-02-15 Thread zeljko
On Wednesday 15 of February 2012 15:34:28 Mattias Gaertner wrote:

 Yes. It is TLazAccessibleObject.GetChildAccessibleObjectWithDataObject. It
 uses a linear search for the 10.000 items. I will replace it with an avl
 tree.

Exact point.

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread michael . vancanneyt



On Wed, 15 Feb 2012, zeljko wrote:


On Wednesday 15 of February 2012 15:34:28 Mattias Gaertner wrote:


Yes. It is TLazAccessibleObject.GetChildAccessibleObjectWithDataObject. It
uses a linear search for the 10.000 items. I will replace it with an avl
tree.


Exact point.


So - as workaround - closing the code explorer will fix the problem too.
Cannot remember whether I had it open yesterday, but it is good to know :)

Michael.

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Mattias Gaertner

zeljko zel...@holobit.net hat am 15. Februar 2012 um 16:48 geschrieben:

 On Wednesday 15 of February 2012 15:34:28 Mattias Gaertner wrote:
 
  Yes. It is TLazAccessibleObject.GetChildAccessibleObjectWithDataObject.
 It
  uses a linear search for the 10.000 items. I will replace it with an avl
  tree.
 
 Exact point.


The avl tree reduced it to half a second here.

The code explorer still needs a lot of time on this unit, because it
creates 60.000 nodes and for each node it creates a description. Maybe the
descriptions can be created on demand and only for visible nodes.





Mattias

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


Re: [Lazarus] Lazarus slow on large files

2012-02-15 Thread Felipe Monteiro de Carvalho
Thanks for doing the AVL fix =) I will study it and see if I can
substitute FPList in some other projects too with AVL tree.

2012/2/15 Mattias Gaertner nc-gaert...@netcologne.de:
 The code explorer still needs a lot of time on this unit, because it creates
 60.000 nodes and for each node it creates a description. Maybe the
 descriptions can be created on demand and only for visible nodes.

It might be quite hard to do that without affecting accessibility
potentially. The information needs to be passively available, just
like in the screen where you see anything which fits, in accessibility
the accessible software might also demand immediate access to the
information and navigate around it even without any input to the
software. So it might want to read even invisible stuff. We could add
callbacks and change the creation to on demand, but I wonder if it is
worth to complicate the code (which already was quite problematic to
get working on Carbon). Maybe we should simply add a property to turn
off accessibility for objects like the code explorer, which creates
huge amounts of items and wants to optimize for speed. And add an
option to turn accessibility for it on for those that need.

-- 
Felipe Monteiro de Carvalho

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Felipe Monteiro de Carvalho
Sending again on-list now:

 On Wed, Feb 15, 2012 at 5:26 PM, waldo kitty wkitt...@windstream.net wrote:
 uhh... reserved words are not keywords... at least not in my 30+ year old
 coding book of terms... and definitely not in my ~50 years of life
 experience :?

 From your first e-mail in this thread:

 placed the cursor on a pascal keyword (ie: implementation in the 
 currently opened file from when i opened the lhelp.lpi), pressed F1 and... no 
 help :(

 From that I understood that you placed the cursor in the
implementation reserved word and pressed F1 and called it a keyword.

--
Felipe Monteiro de Carvalho

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


Re: [Lazarus] installing chm help

2012-02-15 Thread waldo kitty

On 2/15/2012 03:33, Michael Schnell wrote:

On 02/14/2012 07:33 PM, waldo kitty wrote:

placed the cursor on a pascal keyword (ie: implementation in the currently
opened file from when i opened the lhelp.lpi), pressed F1 and... no help :(


To get context help for pascal language keywords, you need to install a combined
chm file that (in addition to the standard LCL) help includes FPC language help
(and hopefully help on help, IDE help, RTL help, you name it.


i understand what you are saying but lhelp is working, when i attempt to look up 
something that it can find, with more than one chm file... there are three of 
them in the latest stable documentation archive as pointed to by the wiki 
page... the biggest thing i see is that a lot of stuff, stuff i would have 
thought would have been documented first, is simply not documented...



I don't know if such a file even exist and/or (how) it is possible to build it
from the svn sources.


yeah, me either...


(Se the lots of recent discussions on the help system that pointed out the
benefits of DocView.)


i've been watching it... even posted a message or two in it/them i think ;)

once i get past this lhelp stuff, then docview is next on my list to look at :P

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


Re: [Lazarus] installing chm help

2012-02-15 Thread waldo kitty

On 2/15/2012 04:58, Hans-Peter Diettrich wrote:

waldo kitty schrieb:


Download all the CHM, and keyword help works (here, Win7).
I got ref, prog, user and toc CHMs, too.


hunh? there are only 3 in the ~16Meg fpc-lazarus-doc-chm-0.9.30.2.tar.bz2 file
i pulled off of sourceforge as directed by the wiki page /scratching head


See
http://wiki.lazarus.freepascal.org/Lazarus_Documentation#Free_Pascal_Compiler_Documentation

for a list of the FPC related documentation. There exists some confusion in the
Wiki content, links and download sites. Good luck :-)


yeah, i've waded thru that morass numerous times :? :(

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


[Lazarus] vtUnicodeString

2012-02-15 Thread Juha Manninen
LCLProc has procedure DebuglnThreadLog which refers to vtUnicodeString
which doesn't compile with FPC 2.4.4.
It should be embedded in IFDEF. Is VER2_6 the right define? Like:

{$ifdef VER2_6}
vtUnicodeString:
s:=AnsiString(UnicodeString(s)+UnicodeString(Args[i].VUnicodeString));
{$endif}


Juha

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


Re: [Lazarus] installing chm help

2012-02-15 Thread waldo kitty

On 2/15/2012 05:30, Hans-Peter Diettrich wrote:

waldo kitty schrieb:


also basic things like 'writeln', 'write', and similar do not give any help...
but then some stuff, like 'integer' popup with a Help selector window as
mentioned above and one of the two RTL (ahh! found a RTL[] hit) options
(objpas.pp) talks about redefinition of integer as 32-bit type whereas the
other one (systemh.inc) says a signed 16-bits integer...

so which one is correct?


IMO Integer is a compiler built-in type, and thus it doesn't have a reference
to the current declaration. The same for Char and string types :-(


it was but one of several i assumed would be documented by default :(


I already mentioned that flaw, and suggested conditional declarations:
{$IFDEF fpdocsystem}
type
integer = LongInt;
cardinal = LongWord;
...
char = WideChar;
string = UnicodeString;
...
{$ENDIF}

In my own docs I added topics for all basic types. Common to all these
workarounds is the missing correspondence to the effective declarations, so that
a signed 16-bits integer entry will survive ad nauseam, if nobody happens to
find and update such entries. E.g. AnsiChar is described as an alias for Char,
which in fact should read the opposite way, and nowadays even Char=WideChar.


yeah, i've run into some problems in a tool that i'm trying to complete with 
some of this type of stuff... i actually had to set sw_integer for some types 
that should have worked with integer... i /just/ found out what sw_integer is 
(objects unit - alias for longint)... but that brings me to another problem i 
think i may have run into but i gotta find the posts that pointed me in that 
direction and it has been a week or two :?



I found no time yet to create an overview of all the basic (built-in) types,
which would allow to update all these types in one single place, whenever the
declarations are changed in the compiler.


ahhh... that might be a bit of a mess?


why does basic stuff, eg: 'write' and 'writeln' not have any help at all?


Thanks, I didn't realize that yet. It's for the same reason: these are compiler
magics, for which FPDoc doesn't find a declaration in the source code, and
consequently ignores all such element, even if they exist in the XML files.
See above for possible workarounds.


ahh... i found them quite quickly by hitting all routines and 'keywords' that 
/i/ didn't write in my project ;) for example, i know that i have not written 
any help (yet) for my TLEEpoch procedures and functions so testing docs by 
trying to find them won't work but a lot of other code i didn't write as it is 
mostly library code which i would expect to have been documented after all this 
time and these discussions...



where is the help for items like 'PadRight', 'AddChar', 'PadLeft', 'AddCharR'
and similar??


I just can't find in which units these are declared. The FCL is only documented
to a small percentage, perhaps these functions reside in such undocumented 
units?


these are in strutils... i found them by using uncle google which is quite the 
laugh because all of this is about *offline* help so these things can be found 
when one is unable to be online :lol:



remember, we are coming at this as a pure newbie with some coding knowledge,
no books, and an extremely simple background in programing... yes, much of the
basic stuff really does need to be specified ;)


Please create an according FPC bug report, if none exists yet, and hope that
somebody will update the documentation.


i may figure out where and how to start but i've already got too much going on 
now :(


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


Re: [Lazarus] vtUnicodeString

2012-02-15 Thread Mattias Gaertner

Juha Manninen juha.mannine...@gmail.com hat am 15. Februar 2012 um 18:15
geschrieben:

 LCLProc has procedure DebuglnThreadLog which refers to vtUnicodeString
 which doesn't compile with FPC 2.4.4.
 It should be embedded in IFDEF. Is VER2_6 the right define? Like:

 {$ifdef VER2_6}
 vtUnicodeString:
 s:=AnsiString(UnicodeString(s)+UnicodeString(Args[i].VUnicodeString));
 {$endif}


AFAIK 2.6 does not have it.

{$IF FPC_FULLVERSION=20701}

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Andrew Haines
On 02/15/12 08:02, Marco van de Voort wrote:
 On Wed, Feb 15, 2012 at 12:59:52PM +0100, Michael Schnell wrote:
 Nope. Simply download the additional CHM files, and it works as expected.
 I once asked how the CHM help can be configured to search across 
 multiple files.
 
 There is no CHM help. There is Lazarus help, which loads the indexes from
 individual CHMs, and a viewer for single CHMs.
 
 IOW, afaik such searches are part of lazarus, not the viewer.
 

When you press F1 in lazarus it performs it's own search of what it is
looking for. If it finds something it presents a list of possible
results if there are more than one. If there is only one result or when
you select one it then asks the helpviewer to show that topic. It does
not use the help viewer to search the help.

LHelp can have multiple chm files open and will search them all from the
LHelp search pane.

Regards,

Andrew

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


Re: [Lazarus] installing chm help

2012-02-15 Thread Mattias Gaertner

Andrew Haines andrewd...@aol.com hat am 15. Februar 2012 um 18:38
geschrieben:

 On 02/15/12 08:02, Marco van de Voort wrote:
  On Wed, Feb 15, 2012 at 12:59:52PM +0100, Michael Schnell wrote:
  Nope. Simply download the additional CHM files, and it works as
expected.
  I once asked how the CHM help can be configured to search across
  multiple files.
 
  There is no CHM help. There is Lazarus help, which loads the indexes
from
  individual CHMs, and a viewer for single CHMs.
 
  IOW, afaik such searches are part of lazarus, not the viewer.
 

 When you press F1 in lazarus it performs it's own search of what it is
 looking for. If it finds something it presents a list of possible
 results if there are more than one. If there is only one result or when
 you select one it then asks the helpviewer to show that topic. It does
 not use the help viewer to search the help.

 LHelp can have multiple chm files open and will search them all from the
 LHelp search pane.


AFAIK there is a two-way communication between the IDE and lhelp.
Just an idea:
The chmhelppkg can use this to perform a search in lhelp. Then F1 would
show lhelp with the search results.

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


Re: [Lazarus] installing chm help

2012-02-15 Thread waldo kitty

On 2/15/2012 05:47, Sven Barth wrote:

Am 15.02.2012 03:48, schrieb waldo kitty:

but then some stuff, like 'integer' popup with a Help selector
window as mentioned above and one of the two RTL (ahh! found a RTL[]
hit) options (objpas.pp) talks about redefinition of integer as 32-bit
type whereas the other one (systemh.inc) says a signed 16-bits
integer...

so which one is correct?


Both are correct. The default size of Integer in FPC is 2 Bytes (16 Bit). Only
if you use mode Delphi or ObjFPC the size is 4 Bytes (32 Bit) and there it is
indeed introduced by the ObjPas unit which is automatically included by the
compiler in these modes.


yes, so i've found out... my project is (now) {$mode objfpc}{$H+} whereas 
before it was in turbo pascal mode when i started it in text mode FPC... i had 
to switch to using lazarus because i wanted the HasOption stuff for easier 
command line processing which seems to only be available in a TApplication... 
this is something else i tentatively plan to write about and ask why HasOption 
and related functions are not available for all and a TApplication then uses 
them... i made some rather large changes to my project which should be quite 
simple and small :?



why are both being shown to me?

why does basic stuff, eg: 'write' and 'writeln' not have any help at all?



I don't know. At least the two ARE documented.


yes, they are documented but i guess that lhelp shows all entries when it cannot 
determine which one is specific to the code in question... there were a few 
others that showed me 5 or 6 options to choose from to see their definitions...


another thing with that is that i then had to close lhelp and hit F1 again to go 
back to the choice dialog to choose another reference to read and see if it was 
what i was after...



where is the help for items like 'PadRight', 'AddChar', 'PadLeft',
'AddCharR' and similar??


If you have the unit StrUtils included then it should work (it should be 
rtl.chm).


i do and they, themselves, work but the latest stable documentation pointed to 
by the default F1 help page - the wiki takes you to sourceforge where i chose 
the before named file to download...


earlier i followed another path from the wiki (i believe dodi pointed me to it) 
and come up with a whole different set of documentation archives that appear to 
also be for the latest stable version :?



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


Re: [Lazarus] installing chm help

2012-02-15 Thread Andrew Haines
On 02/15/12 12:46, Mattias Gaertner wrote:
 
 Andrew Haines andrewd...@aol.com hat am 15. Februar 2012 um 18:38
 geschrieben:
 When you press F1 in lazarus it performs it's own search of what it is
 looking for. If it finds something it presents a list of possible
 results if there are more than one. If there is only one result or when
 you select one it then asks the helpviewer to show that topic. It does
 not use the help viewer to search the help.

 LHelp can have multiple chm files open and will search them all from the
 LHelp search pane.
 
 AFAIK there is a two-way communication between the IDE and lhelp. 
 
 Just an idea: 
 
 The chmhelppkg can use this to perform a search in lhelp. Then F1 would
 show lhelp with the search results. 
 


There is some communication now yes but I am working on a 2 way ipc unit
now to make this more efficient, and plan to add the ability for lhelp
to be able to do searches through ipc.

The current IPC lhelp has is too primitive and can block lazarus while
it loads the a TOC which although fast is noticable.

The 2 way IPC unit is done and I am adding the lhelp layer to it now.

Andrew

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


Re: [Lazarus] installing chm help

2012-02-15 Thread waldo kitty

On 2/15/2012 05:56, Sven Barth wrote:

Am 15.02.2012 07:52, schrieb Graeme Geldenhuys:

On 15 February 2012 04:58, waldo kitty wrote:


i used the term 'keyword' to cover basic pascal verbs or whatever the
proper verbiage is for them... i also see/use this term to cover all library
items and am surprised that 'writeln' is not included in the RTL docs...


Those keywords are coverer in the RTL documentation. I see it in
DocView when I press F1, so there must be yet another bug in the CHM
files or viewer or CHM IDE integration.

For the writeln() keyword as you put it, DocView took me to RTL -
Reference for unit 'System' Procedures and Functions Writeln



It seems to be a problem of the IDE or the integration package, because
searching for Writeln in the search tab of lHelp works


interesting... it doesn't make sense (yet) but it is interesting...


(Note: Other identifiers that are not physically present in the system unit
are not shown either, like Boolean. But e.g. PtrInt exists)


@graeme: does docview work with chm files? i haven't looked at it, yet, if if 
does, i'm curious if it will find things that lhelp doesn't in the same chm 
files when invoked by placing the cursor on a {dang, what terms to use??} word 
in the IDE and hitting F1 (or CTRL-F1 for docview as an external app)...


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


Re: [Lazarus] installing chm help

2012-02-15 Thread waldo kitty

On 2/15/2012 05:58, Sven Barth wrote:

Am 15.02.2012 11:18, schrieb Marco van de Voort:

Putting ref.chm in the same directory. The keywords are in there for nearly
two years.

But iirc only .31 supports it, not .30. (and it is one of the things that
would be nice to backport to a future stable release)


As the next Lazarus release seems to be based on 0.9.31 (0.99) this does not
seem to be a problem ;)


FWIW: i am using lazarus 0.9.31 from SVN (updated every few days) but i am still 
using FPC 2.4.5 (also from SVN)... i'm not sure of the FPC SVN revision... it is 
not shown in the lazarus Help-About dialog... only the lazarus SVN revision is 
shown... i /think/ my FPC is r17628, though...


FWIW2: i haven't updated this and my other main dev box to FPC 2.6.0 because, as 
has happened in the past, i've had to wipe everything and start all over pulling 
from the SVN and then bootstrapping up from there... it is easy to do lazarus 
but updating FPC and then trying to make it and then laz always break some how 
for me :(



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


Re: [Lazarus] vtUnicodeString

2012-02-15 Thread Juha Manninen
Thanks, I added it in r35381.

Juha


2012/2/15, Mattias Gaertner nc-gaert...@netcologne.de:

 Juha Manninen juha.mannine...@gmail.com hat am 15. Februar 2012 um 18:15
 geschrieben:

 LCLProc has procedure DebuglnThreadLog which refers to vtUnicodeString
 which doesn't compile with FPC 2.4.4.
 It should be embedded in IFDEF. Is VER2_6 the right define? Like:

 {$ifdef VER2_6}
 vtUnicodeString:
 s:=AnsiString(UnicodeString(s)+UnicodeString(Args[i].VUnicodeString));
 {$endif}


 AFAIK 2.6 does not have it.

 {$IF FPC_FULLVERSION=20701}

 Mattias


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


[Lazarus] pppoe dialer

2012-02-15 Thread Osvaldo Filho
Hi, all!

Can anyone help me with some information on how I can create a dialer for
a PPPoE connection?

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


Re: [Lazarus] installing chm help

2012-02-15 Thread waldo kitty

On 2/15/2012 06:08, Graeme Geldenhuys wrote:

On 15 February 2012 12:30, Hans-Peter Diettrich  wrote:


I found no time yet to create an overview of all the basic (built-in) types,
which would allow to update all these types in one single place, whenever
the declarations are changed in the compiler.



Once again you are creating unnecessary work for yourself. Michael van
Canneyt has already documented all the basic (built-in) types in the
FPC Language Reference (the chapter on Types). Can't get more clear
than that.



the problem, then, must either be in the latest stable chm files i downloaded 
OR in lhelp...


my path was this...

1. Help-Online Help

2. browser loads file:///C:/freepascal/laz/docs/index.html

3. click on Installing CHM help in the IDE - 
http://wiki.freepascal.org/Installing_Help_in_the_IDE#Installing_CHM_Help_for_The_RTL.2C_FCL_and_LCL_in_the_Lazarus_IDE


4. follow the instructions (as i detailed in my first post) to download the 
latest stable Lazarus CHM help files from 
http://sourceforge.net/projects/lazarus/files/Lazarus%20Documentation/


5. there i chose Lazarus 0.9.30.2 since it has the newest date (2011 Nov 25) 
http://sourceforge.net/projects/lazarus/files/Lazarus%20Documentation/Lazarus%200.9.30.2/


6. there i chose fpc-lazarus-doc-chm-0.9.30.2.tar.bz2 because it has the same 
date AND it is CHM whereas the only other option in there is HTML...


7. i completed the rest of the installation and here we are...


i note that martin has added a step 6 to those wiki instructions... it has you 
confirm that HelpExe is proper and also says to set HelpFilesPath to where the 
chm files are... but[!!] i _have not_ changed HelpFilesPath from its blank 
setting and the help /is/ working but not for all terms tested... i'm not sure, 
at all, what is going on there or why it is working without that field being 
filled in...


[wow, i didn't realize that my thread would cause such a stir as it has...]

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


Re: [Lazarus] Looking for a general text editor

2012-02-15 Thread Zaher Dirkey
On Tue, Feb 14, 2012 at 11:32 AM, Graeme Geldenhuys graemeg.li...@gmail.com
 wrote:

 I guess I'll just have to knock together a basic fpGUI editor from
 scratch in my lunchtime. It should be 40 minutes well spent. Thanks
 anyway for the suggestion.


Oh, 40 minutes, i bet you, it is get more than pure 40 hours :D (that what
i said when started my editor).

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


  1   2   >