Delphi 错误E2223$DENYPACKAGEUNIT';System.Win.ComServ';无法放入包中,如何解决此问题?

Delphi 错误E2223$DENYPACKAGEUNIT';System.Win.ComServ';无法放入包中,如何解决此问题?,delphi,delphi-xe6,Delphi,Delphi Xe6,我已经解决了unicode问题,最后还是遇到了这个错误- [dcc32 Error] E2223 $DENYPACKAGEUNIT 'System.Win.ComServ' cannot be put into a package 我无法避免将ComServ添加到包中,但我需要成功获得此构建。该软件包是在XE6上构建的,源于D2007(有相同的问题)我希望安装此组件。 这个问题有什么快速的解决办法吗 我能在汽车里看得很清楚- {$DENYPACKAGEUNIT} { OleAuto canno

我已经解决了unicode问题,最后还是遇到了这个错误-

[dcc32 Error] E2223 $DENYPACKAGEUNIT 'System.Win.ComServ' cannot be put into a package
我无法避免将
ComServ
添加到包中,但我需要成功获得此构建。该软件包是在
XE6
上构建的,源于
D2007
(有相同的问题)我希望安装此组件。
这个问题有什么快速的解决办法吗

我能在汽车里看得很清楚-

{$DENYPACKAGEUNIT}
{ OleAuto cannot be used in a package DLL.  To implement
  an OLE automation server in a package, use the new
  OLE automation support in comobj and comserv.
}

这意味着什么?我应该如何实施上述建议?

评论可能更清楚,但确实不能在包中使用ComServ单元。相反,在主DLL项目中使用它。它所做的只是实现任何COM DLL需要实现的函数。在软件包中使用ComObj;它知道如何在ComServ类工厂中注册自己。但我不明白你是怎么陷入这种境地的。它与Unicode无关,包限制一直存在。您的代码最初是如何进入包项目的?一开始你想完成什么任务?{$DENYPACKAGEUNIT}OFF解决了这个问题最后的评论应该是一个答案