3
votes

I have a component package that I maintain, TComPort, a sourceforge project. I recently decided to try to build the C++Builder 2010 version of the packages. Those were built and installed. Then I cleaned my system (all bpl and dcp traces of these are gone!).

Now I have the odd situation where I build the runtime, and build and install a designtime package for Delphi 2010 (with the d14 package suffix), and the component designtime package shows up and is checked, when I click Components -> Install Packages, and also in Project Options, the package shows up. In either place, clicking the COmponents button shows that those components are there in that package.

However, the components inside the package are not in the Tool Palette. There has been no real change in the source code of these components. And I have no idea why Delphi 2010 is acting this way, or why it tells me when I installed my designtime package, that the component package installed correctly, but then, no components will show up.

EDIT: (Workaround: Change 'Page' string parameter in call to RegisterComponents, and this problem is worked around. However, it's frickin' annoying, and I can't figure out how to clean this up)

And here's the killer. When I open a DFM that contains that component, it shows up too. It's only the Tool Palette that is holding back on me. Yes, I reset the component palette. I also decided to summon up the ghost of the delphi 7 component palette (right click at the top of the screen and click components to get the old classic component palette). ANd it ain't there neither.

I suspect this might be a nasty bug in Delphi 2010. I'm hoping someone has seen something like this. It's killing me, I tell you, killing me.

EDIT: I have cleaned up the registry key HKEY_CURRENT_USER\Software\CodeGear\BDS\7.0\Package Cache[my package names here] and no change either

EDIT: I changed RegisterComponents( 'foo', [TMyComponent1,....] ) to RegisterComponents( 'bar', ... ) and suddenly they are back. Where is Delphi 2010 storing the "I hate Category Foo"? This is bad.

3
Is it unticked in the palette categories filter (just to right of the search box) - ignore this, can't untick it just gets you to the category quicklyMark Robinson
I had never SEEN this palette categories filter. It was pretty useless looking at first, then I realized, you can make it larger by resizing it. I would suggest that any Delphi guys who read this make the palette category drop-down arrow button auto-size to show everything at a glance. This is a little hidden Gem in delphi. Didn't solve my problem, but it was a cool find.Warren P
This happened to me with the stock ADO Express/dbGo components. For whatever reason only TRDSConnection would show up. Eventually I wound up having to reinstall the IDE using the "Repair" option to get them all to show up again.Kenneth Cochran

3 Answers

2
votes

If you installed the component, and then customized the Tool Palette to either put the component on some other page or remove the component from all pages, then the IDE will remember so that unloading and reloading the package will not clobber your customizations. The IDE evidently keeps that setting by tracking the component name with its original registered page. When you change the page-registration name, the saved setting gets cleared.

If that's the case, then you manually removed the component from the palette. To get it back on the palette without changing the registration code, manually re-add it to the palette by reversing whatever process you used to remove it.

1
votes

Try right-clicking on the Tool Palette (in the area to the right of the search edit and the mouse pointer are), and choosing "Unhide Button". If the category has been hidden (or all items in it were), you should be able to individually unhide them, which should make the group visible again.

(I just tested this by removing the entire Win 3.1 category, which I never use; I can then use the above steps to re-display it by unhiding one of the buttons it contained like TOutline.)

0
votes

I had similar problem in RAD2007: installation was successful but one day CPortLib page disappeared from Tool Palette.

I got it working now after changing in registry of all occurrences of parameter

[Borland\BDS\5.0\Package Cache\DsgnCPortD2007.bpl] "Demand Load Package"="1"

to "0".

After this IDE shows CPortLib page again.

Morover, reverting the parameter to 1 is also OK because the package is disqualified by IDE as demand-loaded as described on

Demand-loaded component packages in Delphi 2005 (by Allen Bauer) https://blog.therealoracleatdelphi.com/2004/11/demand-loaded-component-packages-in_15.html

(I see disqualification in generated .rpt file).

I don't know why this trick works but it works to me and I hope it will work to others (>4500 readers of this post).