[Lazarus] Component palette enhancements

Marco van de Voort fpc at pascalprogramming.org
Fri Apr 8 11:04:40 CEST 2022


On 6-4-2022 23:45, Michael Van Canneyt wrote:
>
>>> * When writing: write UnitName.ComponentName instead of ComponentName.
>>>   A trivial change, which can be done in a backward compatible manner.
>>
>> It only will break compatibility with Delphi needlessly.   This will 
>> complicate making e.g. demoes for shared library packages.
>
> I must still see these demos that can be compiled with Delphi and 
> Lazarus.
> The property names of components and controls in LCL/VCL are already 
> different, so your intended scenario is simply imaginary and 
> non-existent.
>
> Every package which works for Delphi and Lazarus  that I've seen has 
> separate demos for Lazarus and Delphi for this reason.
>
> So it's not like this new feature would worsen the situation.

Even if there are one or two property names different, a simple opening 
of the form fixes that.  A different streaming system won't fix that.

>>
>> If component names have units,  and units have a package (vcl. etc) 
>> prefix, maybe it is simply enough to register the prefix in the 
>> reader library and then disambiguate between the various units based 
>> on the package prefix.
>
> Units are already packages (or namespaces) by themselves. That is why 
> they were invented. No need to add a second layer.

The duplications are within sets of units with similar names for 
different component packages. It is only logical to also use that. There 
is no need to force the unit as disambiguator.

>
> And as said, I would introduce a flag to make the behaviour backwards 
> compatible.
> Only writing is affected. People that need to write 100% delphi 
> compatible streams
> just need to set the flag. Done.
>
Or reverse it. Make that flag default, and the few people that use 
register both VCL and web components within one project reverse it.


More information about the lazarus mailing list