2011-11-28 12 views
2

我想在Delphi 2010上编译TBX_D2010。编译失败,E2003未声明的标识符:TBX.pas中的'TTBPopupPositionRec'。编译组件时Delphi组件被忽略

奇怪的是,在单元TB2Item中声明了TTBPopupPositionRec。即使更奇怪的是,我可以编辑TB2Item.pas,甚至删除整个内容,它仍然会失败,同样的错误,忽略TB2Item.pas中引入的错误,就好像它会使用其他不同的TB2Item副本。但是,从TBX.pas的使用中删除TB2Item会失败并显示不同的错误。

我对TB2Item *有dir/s,没有发现任何可疑的东西,并删除了所有的TB2Item.dcu文件。

发生了什么事,为什么Delphi忽略了我在TB2Item.pas中的更改?

+1

您是否安装了包含此设备的软件包? –

+0

谢谢,这会让我走上正确的道路。我删除了其他软件包的所有.bpl和.dcp文件,重新编译,重新安装了另一个软件包,新的软件包以及其他所有软件都能正常工作。 – Kaitnieks

回答

0

发布的答案,所以我可以关闭此:

我删除了所有.bpl和其他包装.dcp文件,重新编译,重新安装其他程序包和新的,一切正常。

2

当您在包含无法定位的神秘单元的IDE中安装软件包时,通常会发生这种情况。

究竟是什么解决方案取决于您的确切场景。

4

TBXToolbar 2000的附加组件。

默认情况下TB2Item.pas不包含TTBPopupPositionRec这是通过运行在TBX\Tools\TB2k Patch\目录中找到的差异来添加的。

未找到此类型将表示补丁未正确应用。

另一个需要注意的是,我注意到Toolbar 2000最后支持的版本是Delphi 2009. 由于使用Delphi 2010进行编译,可能有一个或多个需要更新的编译器定义。

+0

问题是我安装了未打补丁的TB2K,然后删除它来修补它,但没有删除bpl和dcp文件,删除未完成。 – Kaitnieks