Zitat von Giuliano Colla <[EMAIL PROTECTED]>:

> I'm trying to implement an usable port of CLX to Lazarus.
>
> So I've created a CLX package which declares to provide the same as LCL.
>
> So far it works as expected, but unfortunately CLX unit names are
> different from VCL/LCL: QForms instead of Forms, QButtons instead of
> Buttons etc. Unit names can't be changed less changing them in all
> applications, which impairs easy porting.
>
> The obvious consequence is that if a component is added on a form from
> IDE, the IDE adds the unit it knows (e.g. STdCtrls) instead of the one
> from the package (QStdCtrls). This is unavoidable, unless IdeIntf is
> properly hacked. But it happens on the unit one is working with, so it's
> easy to fix, at least temporarily. All what is required is to remove the
> unit if it's already there with the Q prefixed name, or to prefix a Q to
> the name if it wasn't there.

Correct.
I'm not sure how this should be solved.
Hacking IDEIntf has the drawback, that switching to a LCL project will not work.
I guess a the provides page must be extended with alias components. OTOH the
next problem are the properties. You need some other property editors to
show/hide the correct properties. And they must be loaded/unloaded whenever a
CLX project is loaded/unloaded.


> What's more annoying is that also the LCL dependency is added to the
> project requirements although the CLX package declares to provide "LCL".

I found the bug. I will commit the fix tomorrow.


> Is this unavoidable too, hardcoded because of the different unit names,
> or it's just a matter of incorrect syntax of my provides?
>
> I'd thankfully accept advice before attempting any possible variation:
> provides LCL*, provides LCL >1.0, provides LCL >=1.0 ..etc.


Mattias

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to