3

在 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 文件。如果我浏览它,或者我不浏览它,结果都是一样的。再多的重新编译都不会清除此错误情况。

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

4

1 回答 1

2

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

解决方案:

修复库路径。

于 2013-01-22T16:30:28.047 回答