我维护了一个组件包,TComPort,一个sourceforge项目。我最近决定尝试构建C++Builder 2010版本的包。这些都是建造和安装的。然后我清理了我的系统(所有的bpl和dcp痕迹都消失了!)。
现在我有一个奇怪的情况,当我构建运行时,构建并安装Delphi2010的设计时包(带有d14包后缀),当我单击Components -> install Packages时,组件设计时包显示并被选中,而且在项目选项中,包也显示出来。在这两个位置中,单击COmponents按钮都会显示这些组件在该包中。
但是,包中的组件不在工具选项板中。这些组件的源代码没有真正的变化。我不知道为什么Delphi 2010是这样的,或者为什么当我安装我的设计时包时,它告诉我组件包安装正确了,但是之后,没有任何组件显示出来。
编辑:(解决方法:将调用中的'Page‘字符串参数更改为RegisterComponents,此问题即可解决。然而,这是非常恼人的,我不知道如何清理它)
这就是凶手。当我打开包含该组件的DFM时,它也会显示出来。这只是工具调色板拖我后腿。是的,我重置了组件调色板。我还决定召唤delphi 7组件调色板的幽灵(右键单击屏幕顶部,然后单击组件以获得旧的经典组件调色板)。ANd它也不在那里。
我怀疑这可能是Delphi2010中的一个令人讨厌的bug。我希望有人见过这样的东西。我告诉你,它要我的命,要我的命。
编辑:我已经清理了这里的注册表项HKEY_CURRENT_USER\Software\CodeGear\BDS\7.0\Package Cachemy package names,也没有任何变化
编辑:我更改了RegisterComponents( 'foo',TMyComponent1,....)到酒吧(‘RegisterComponents’,... )突然他们又回来了。Delphi 2010在哪里存储了“我讨厌Foo类别”?这很糟糕。
发布于 2010-02-12 05:23:54
如果您安装了该组件,然后自定义了工具箱,以便将该组件放在其他页面上或从所有页面中删除该组件,则IDE将记住这一点,以便卸载和重新加载包不会破坏您的自定义设置。IDE通过跟踪组件名称及其原始注册页面,明显地保留了该设置。当您更改页面注册名称时,保存的设置将被清除。
如果是这样,那么您可以手动从面板中删除该组件。要在不更改注册码的情况下将其重新添加到调色板中,请通过颠倒删除它的过程来手动将其重新添加到调色板中。
发布于 2010-02-12 05:18:28
尝试右键单击工具选项板(在搜索编辑和鼠标指针的右侧区域),然后选择“取消隐藏按钮”。如果该类别已被隐藏(或其中的所有项目已被隐藏),您应该能够单独取消隐藏它们,这应该会使组再次可见。
(我只是通过删除整个win3.1类别来测试它,我从未使用过它;然后我可以使用上面的步骤,通过取消隐藏它包含的一个按钮(如TOutline)来重新显示它。)
发布于 2015-10-30 18:43:40
我在RAD2007中遇到了类似的问题:安装成功了,但是有一天CPortLib页面从工具面板中消失了。
在注册表中更改了所有参数的匹配项后,我现在让它工作了
Borland\BDS\5.0\Package Cache\DsgnCPortD2007.bpl "Demand Load Package"="1“
设置为"0“。
在此集成开发环境再次显示CPortLib页面后。
此外,将参数恢复为1也是可以的,因为包被IDE取消了按需加载的资格,如中所述
Delphi2005中的按需加载组件包( Allen Bauer) https://blog.therealoracleatdelphi.com/2004/11/demand-loaded-component-packages-in_15.html
(我在生成的.rpt文件中看到取消资格)。
我不知道为什么这个技巧有效,但它对我有效,我希望它也能对其他人有效(这篇文章的读者超过4500人)。
https://stackoverflow.com/questions/2245467
复制相似问题