首先,我想就问题本身道歉。我根本无法做得更好。那么,问题接着是示例和详细...
我从他们的来源手动安装了QuickReport Delphi 2006。它由两个包“DesignTime”和一个“RunTime”组成。
我的Delphi配置为在“D:\ BPL”中构建BPL文件,在“D:\ DCP”上构建在我的Delphi上编译的所有软件包的DCP文件
QuickReport的源代码位于“D:\ QuickReport”中,它们的包(设计和运行时)配置为将编译单元(DCU)保存在“D:\ QuickReport \ DCU”文件夹中。这是包中唯一完成的配置。没有设置不同的路径,BPL和DCP文件正确放置在我设置的文件夹中,如前所述。
通过这些设置,我能够毫无问题地构建和安装QuickReport(只是一些编译器警告,我认为这是正常的)。所有QuickReport组件都出现在Delphi的调色板中,在启动过程中不会发出任何错误,证明组件已正确安装且找到了所有软件包。
现在来测试:我开始了一个新的win32应用程序,完全是空的,只是一个空白表单。然后它放了一个QuickReport组件(TQuickRep)。我注意到的第一件事是单位“QuickRpt”,它自动放在“接口”的“使用”子句中,用红色下划线表示出现了问题。
当我在“QuickRpt”单元(uses子句)中执行CTRL + ENTER时,Delphi正确找到源文件(.pas),这是在“D:\ QuickReport”中然后我运行了一个BUILD ALL命令和出现以下编译错误:
[Pascal致命错误] Unit1.pas(7):F2051单元QuickRpt使用不同版本的QRExpr.TQREvElement进行编译
就是这样!!!
此错误仅在“快速报告”中发生。我使用与路径相同的配置安装了其他第三方组件,它们都能正常工作。
答案 0 :(得分:3)
最后我能够解决这个问题。 @RRUZ和另一位朋友给了我一个提示:我系统上丢失的QuickRpt.dcu文件。还有一个QuickRpt.res文件。我发现了它们,但这个地方对我来说非常不可能:delphi LIB文件夹!!!
好吧,我有一些关于这个离奇事物的线索。
在Delphi 7之前,QuickReport与IDE一起提供,但默认情况下已禁用。在Delphi版本上,我们需要做的就是注册bpl以获得对QuickReport的完全访问权!
在Delphi 2006上,QuickReport不是IDE的一部分,也没有BPL可以注册,但是Borland的人忘了从旧的QuickReport中删除所有文件。 Delphi Lib文件夹是Delphi启动时要检查的第一个文件夹之一,因此,如果有旧文件,其他地方的新文件将永远不会编译,产生恼人的错误!
这个问题也可能出现在Delphi 2005上。