我正在使用 Delphi 10.3.3,并在大约 4 个月前编写了一个应用程序,该应用程序使用了第三方 Word Mailmerge 单元。它说我必须在
ComObj
中包含 ActiveX
和 uses
,我照做了。该应用程序运行良好。
我今天返回进行更改并出现错误,无法解析
ComObj
和 ActiveX
的单位名称。我通过将其更改为 ComObj
来解决 System.Win.ComObj
,我在此处的其他地方读过,但无法解决 ActiveX
问题。不知道为什么会发生这种情况。
我是否无意中更改了某些内容?之前是可以用的。在不了解问题的情况下,我犹豫是否要开始重新安装库。
可能您的项目的选项“单元范围名称”为空或不完整。这就是为什么必须在 use 子句中包含完全限定的单元名称。这样做是没有问题的。那就更好了。
通常“单元范围名称”选项是
Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap
您可以根据需要填写清单。或者将其留空并使用完全限定的单位名称。
您必须使用 WinAPI.ActiveX 代替 ActiveX 并使用 WinAPI.ShellAPI 代替 ShellAPI