[Lazarus] Lazarus slow on large files
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
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/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.
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.
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
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
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.
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
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.
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 ?
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
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
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 ?
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
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
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
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
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
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
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 ?
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
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
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
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 ?
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
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
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
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 ?
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
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
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
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
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
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.
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
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
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
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
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 ?
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 ?
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
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
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
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
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
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
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
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
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
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
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
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.
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 ?
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
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
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
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.
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 ?
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
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.
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
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
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
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
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
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
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
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
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
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
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
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 ?
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
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 ?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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