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