为什么SAP b1项目中SAPbobsCOM.dll的"embed interop types"需要设置为false?
Why does "embed interop types" need to be set to false for SAPbobsCOM.dll in SAP b1 project?
在我的第一个 SAP B1 项目中,我将 SAPbobsCom.dll
的嵌入互操作类型设置为 True。这是一个 "DI API" 附加项目,即不需要 运行 来自 SAP B1 的附加项目。我创建的代码编译得很好,我认为我没问题。
但是,出现了一个新要求,它必须在 SAP B1 中 运行。长话短说,我意识到为了打包附加组件,SAP b1 工具需要我将 Embed Interop Types 设置为 False。
然后我在 SAP 论坛中发现一些文章指出将互操作类型设置为 false 是可取的,否则会 "cause problems"。但没有解释原因或会出现什么问题。我想知道这是否是 SAP 类、COM 或其他特定问题。为什么该设置会改变 类 的行为方式?
当我尝试将嵌入互操作类型设置为 False 的附加组件重新编译时,许多使用 SAPbobsCOM 类 的语句都失败了。错误的形式是:无法将类型 'xyz' 隐式转换为 'abc'。存在显式转换(是否缺少转换?)
例如为了得到语句:
objRecSetDN = SapObjects.oCompany.GetBusinessObject(BoObjectTypes.BoRecordset)
要编译,我必须将其更改为:
objRecSetDN = (SAPbobsCOM.Recordset)SapObjects.oCompany.GetBusinessObject(BoObjectTypes.BoRecordset)
我不得不改变:
string CheckSend = RS.Fields.Item("U_Send").Value;
至:
string CheckSend = (string)RS.Fields.Item("U_Send").Value;
多年来我一直在制作 SAP B1 插件,并且从未将 Embed Interop Types
设置为 false。我不认为你必须这样做。这是针对使用 .ard 文件和程序 运行 在 B1 之外添加的插件。
这也适用于 SAPbouiCom.dll
。
我使用 B1DESetup_B192
工具将我的插件打包在 Visual Studio 内,没有您上面所说的要求。见下图。
在我的第一个 SAP B1 项目中,我将 SAPbobsCom.dll
的嵌入互操作类型设置为 True。这是一个 "DI API" 附加项目,即不需要 运行 来自 SAP B1 的附加项目。我创建的代码编译得很好,我认为我没问题。
但是,出现了一个新要求,它必须在 SAP B1 中 运行。长话短说,我意识到为了打包附加组件,SAP b1 工具需要我将 Embed Interop Types 设置为 False。
然后我在 SAP 论坛中发现一些文章指出将互操作类型设置为 false 是可取的,否则会 "cause problems"。但没有解释原因或会出现什么问题。我想知道这是否是 SAP 类、COM 或其他特定问题。为什么该设置会改变 类 的行为方式?
当我尝试将嵌入互操作类型设置为 False 的附加组件重新编译时,许多使用 SAPbobsCOM 类 的语句都失败了。错误的形式是:无法将类型 'xyz' 隐式转换为 'abc'。存在显式转换(是否缺少转换?)
例如为了得到语句:
objRecSetDN = SapObjects.oCompany.GetBusinessObject(BoObjectTypes.BoRecordset)
要编译,我必须将其更改为:
objRecSetDN = (SAPbobsCOM.Recordset)SapObjects.oCompany.GetBusinessObject(BoObjectTypes.BoRecordset)
我不得不改变:
string CheckSend = RS.Fields.Item("U_Send").Value;
至:
string CheckSend = (string)RS.Fields.Item("U_Send").Value;
多年来我一直在制作 SAP B1 插件,并且从未将 Embed Interop Types
设置为 false。我不认为你必须这样做。这是针对使用 .ard 文件和程序 运行 在 B1 之外添加的插件。
这也适用于 SAPbouiCom.dll
。
我使用 B1DESetup_B192
工具将我的插件打包在 Visual Studio 内,没有您上面所说的要求。见下图。