[Lazarus] Annoying code completion failure

Ondrej Pokorny lazarus at kluug.net
Sun Nov 3 23:15:35 CET 2019


On 03.11.2019 17:49, Sven Barth via lazarus wrote:
> Ondrej Pokorny via lazarus <lazarus at lists.lazarus-ide.org 
> <mailto:lazarus at lists.lazarus-ide.org>> schrieb am So., 3. Nov. 2019, 
> 11:21:
>
>     On 02.11.2019 11:23, Michael Van Canneyt via lazarus wrote:
>     > TStrings has a property
>     >
>     >     property Values[const Name: string]: string read GetValue write
>     > SetValue;
>     >
>     > The setter is defined as:
>     >
>     > procedure SetValue(const Name, Value: string);
>     >
>     > Note that both arguments are 'const'
>     >
>     > When adding a new property, and pressing 'CTRL-C', the IDE adds
>     the new
>     > property, but also insists on adding a new SetValue:
>     >
>     > procedure SetValue(const Name: string; AValue: string);
>     >
>     > Note the missing const on the second parameter.
>     >
>     > It does this of course not only for TStrings, but for all such
>     properties.
>
>     The problem is not the const - Lazarus can ignore it. The problem is
>     that the parameters are joined - that is what Lazarus cannot handle.
>
>     Replace
>          procedure SetValue(const Name, Value: string);
>     with
>          procedure SetValue(const Name: string; const Value: string);
>
>     then Lazarus won't add it every time you do class completion. I
>     know -
>     it's not what you currently have in the interface, but the
>     difference is
>     just cosmetic. I usually let Lazarus do its job and don't care
>     that the
>     parameters are separated.
>
>
> This is not what one wants to hear.

Well, I just explained the current state. It doesn't mean it cannot be 
improved.


> Lazarus really likes to mess with existing code and it's one of the 
> main reasons I'm *not* using class completion inside the compiler, 
> cause otherwise I can be sure that the whole remaining class is 
> changed as well -.-

To be honest, the compiler code style is very quirky :)

Ondrej

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20191103/f68e8ad4/attachment.html>


More information about the lazarus mailing list