当我运行一个包含TEmbeddedWB的表单时,有未声明的标识符

时间:2012-02-27 08:48:17

标签: delphi delphi-2009

我刚刚安装了bsalsa的Delphi 2009嵌入式Web浏览器,我下载了HERE,然后按照安装HERE的分步说明进行操作。但是在我在表单上添加了一个TEmbeddedWB之后,我收到了以下错误:

Build
[Pascal Error] EWBAcc.pas(319): E2003 Undeclared identifier: SID_IUniformResourceLocatorA'
[Pascal Error] EWBAcc.pas(327): E2003 Undeclared identifier: 'SID_IUniformResourceLocatorW'
[Pascal Error] EWBAcc.pas(555): E2003 Undeclared identifier: 'urldll'
[Pascal Error] EWBAcc.pas(586): E2003 Undeclared identifier: 'Shell32'
[Pascal Error] EWBAcc.pas(597): E2003 Undeclared identifier: 'HHCtrl'
[Pascal Error] EWBAcc.pas(649): E2003 Undeclared identifier: 'Free_Index'
[Pascal Error] EWBAcc.pas(666): E2003 Undeclared identifier: 'SHLockShared_Index'
[Pascal Error] EWBAcc.pas(683): E2003 Undeclared identifier: 'SHUnLockShared_Index'
[Pascal Error] EWBAcc.pas(700): E2003 Undeclared identifier: 'SHFreeShared_Index'
[Pascal Error] EWBAcc.pas(709): E2003 Undeclared identifier: 'UrlMonLib'
[Pascal Fatal Error] EwbCore.pas(48): F2063 Could not compile used unit 'EWBAcc.pas'

由于我已经阅读了与我的相同问题的各种论坛,他们总是提到在库路径上添加嵌入式Web浏览器包的源路径来解决此问题。我已经检查过了,我确信我已经在我的图书馆路径上有了所说的路径。有什么建议?我哪里出错?

1 个答案:

答案 0 :(得分:2)

您问题中引用的未声明标识符是在EmbeddedWB附带的IEConst单元中声明的。编译器找到了该单元,否则它会抱怨丢失的单元。但它没有找到 IEConst.pas ,否则就会看到那些标识符。确保如果您正在重新编译 EwbAcc.pas ,那么您的系统上的其他位置上没有 IEConst.dcu 的任何流浪版本,可能来自较旧的EmbeddedWB版本,或来自为不相关项目配置的库路径。

那些EmbeddedWB源文件和 EwbCore.pas 都分布在同一个目录中,这就是它们应该保留的位置。如果您已将某些文件复制到自己的项目目录中,请将其删除并改为使用原始副本,或者创建库的源目录的完整副本。