你如何修复“无法加载TClassName的单位UnitName符号信息。你想自己尝试找到这个文件吗?”

时间:2012-12-27 21:47:17

标签: delphi activex

在delphi中,创建ActiveX控件比以前更受欢迎。但是仍然可以使用Delphi创建ActiveX控件。这个问题假设是Delphi 2007,但无论你使用什么Delphi版本它都应该是相同的。

创建ActiveX控件时,Delphi中存在一些奇怪的错误。就我而言,我可以 现在不再导入我试图导入和包装的某个类,Delphi不会再告诉我为什么了,只是它无法加载单元“符号信息”。

在这种情况下,我正在包装一个开源控件,我的前几次尝试包装它工作正常,但我发现我必须重做导入一旦我找到以ActiveX包装器的方式编写的属性被错过了。重新生成ActiveX包装器比手动修复它更容易。直到你像这样被阻止:

 Error

 Could not load unit [unit] symbol information for [TClassName]. 
 Do you want to try to find this file yourself?

如果单击“是”,则会显示一个浏览(文件打开)对话框,并将文件过滤器设置为“DCU”。这意味着,它希望我找到该单元的DCU文件。如果我浏览它,或者如果我不浏览它,结果是相同的。没有任何重新编译会清除此错误情况。

有谁知道这个错误的真正意义,更好的是,如何修复它?谷歌搜索这个特定的错误消息显示它出现在英语以外的论坛中,但是如此模糊,没有人记录它。

1 个答案:

答案 0 :(得分:2)

Delphi中的库路径存在问题,为了使ActiveX控件向导正常工作,解析器解析相关单元所需的所有源必须位于库路径中。由于ActiveX控件向导在项目外部起作用,因此项目搜索路径不包含在用于解析要包装并转换为ActiveX控件的VCL控件源的文件夹列表中。

解决方案:

修复库路径。