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.
Furthermore, you can make Lazarus to add the "const" automatically in
IDE options -> Codetools -> Class Completion -> Property completion ->
use const. You can also define an own parameter name or prefix (I use a
prefix).
Ondrej
--
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus