upgrade to Dephi 2005 subclassing failure
Our upgrade to Dephi 2005 (from D6) is done, except for Report Builder -
We purchased/installed correctly, however, we have an in-house component
that is
A. Derived from a TComponent
B. Uses a TppRichText object as a property of itself.
Here's the problem: In order to use a TppRichText control, I add ppRichTx to
the uses clause of my object. The minute I do this, my package won't
install, telling me: "TRaTPPPrinterSetupRTTI already exists; cannot install
package"
Can anyone tell me how to resolve this? Our only other solution is to not
use RB as we go forward, and give Crystal a whirl instead. As I said, we're
good to go for Delphi 2005 development, except anything descended from an RB
control is our only issue to move forward.
Help appreciated.
We purchased/installed correctly, however, we have an in-house component
that is
A. Derived from a TComponent
B. Uses a TppRichText object as a property of itself.
Here's the problem: In order to use a TppRichText control, I add ppRichTx to
the uses clause of my object. The minute I do this, my package won't
install, telling me: "TRaTPPPrinterSetupRTTI already exists; cannot install
package"
Can anyone tell me how to resolve this? Our only other solution is to not
use RB as we go forward, and give Crystal a whirl instead. As I said, we're
good to go for Delphi 2005 development, except anything descended from an RB
control is our only issue to move forward.
Help appreciated.
This discussion has been closed.
Comments
If you create a component that 'uses' any RB units. Then your component
package must 'require' one or RB packages. In this case, you need to require
rbRCL99.
BTW, if you use crystal you cannot derive from any of its components, its
not native Delphi, nor does it provide an extensible class framework like
RB. I do not follow your argument for switching at all.
--
Nard Moseley
Digital Metaphors Corporation
http://www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
package and try to recompile, and I get a message simply stating "Cannot
install package" with no error message and no warnings. Just fails, even if
I let it find out it needs your package by itself.
You don't follow my argument for switching? I've installed Woll2Woll
(Infopower and 1st Class), RAIZE components, Addict Spell Checker, and some
Developer Express components. Everything else works, but I'm two days into
getting three subclassed RB components installed, hence it's getting to the
point where it's not worth the effort. That's why we only bought one license
before we go site wide. I've been working in Delphi since the Beta of 1.0,
and if I can't even get a set of packages installed, based upon someone
else's code, then it's obviously time to start looking elsewhere.
Thanks anyway, but as stated, all I have to do is remove the three compents
using/based upon any of your code, and we compile and run, which is our
utmost goal.
Sounds like your are frustrated, I can relate to that - working with
packages in Delphi can be extremely frustrating.
What we need to solve the problem is more information. If you would like to
create a simple, minimal example that demonstrates what you are trying to
accomplish, you can send in zip format to support@digital-metaphors.com and
we can check it out here.
An example of creating a custom component can be found in
RBuilder\Demos\RCL. The example contains commented code. An article on the
changes made to the RB 9 architecture is found below.
The Delphi 2005 IDE is rather new and Borland implemented a new 'on demand'
loading scheme for packages. For our packages to load correctly we had to
disable that feature (otherwise our packages never loaded).
ForceDemandLoadState(dlDisable);
--
Nard Moseley
Digital Metaphors Corporation
http://www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Here is the article I mentioned in the prior post..
---------------------------------------
Article: RB 9 Architecture Changes
---------------------------------------
ReportBuilder 9 includes architecture changes to more cleanly separate
Designer code from Report code. The code related to component popup menus
and design controls has been broken out into separate classes.
For an example, check out RBuilder\Demos\RCL.
The myChkBox.pas unit contains the component classes....
TppCustomComponent
|
|
TMyCustomCheckBox
|
|-- TmyCheckBox
|
|-- TmyDBCheckBox
The myChkBoxDesign.pas unit contains popup menu and design control classes.
These are compiled into a separate package.
A. Popup Menu classes....
TppComponentPopupMenu
|
|
TmyCustomCheckBoxPopupMenu
|
|-- TmyCheckBoxPopupMenu
|
|-- TmyDBCheckBoxPopupMenu
B. Design Control classes.....
TmyCustomCheckBoxControl
|
|
TmyCustomCheckBoxPopupMenu
|
|-- TmyCheckBoxControl
|
|-- TmyDBCheckBoxControl
--
Nard Moseley
Digital Metaphors Corporation
http://www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com