环境:Win7 x64,VS2015,NX12
场景描述:
NX二次开发时,如果软件过大,可能拆分成小模块给不同的小组开发,即多个外挂
但不同模块之间数据可能需要相互调用,这时就会出现不同的外挂间同名 dll 文件的问题。
比如A模块生成了 a.dll, B模块生成了 b.dll, a.dll 需要调用 b.dll 来获取某些数据,
此时就会出现A外挂中有 a.dll , b.dll B外挂中有 b.dll,
如果此时NX 加载 A,B 两个外挂会出现什么问题呢?
测试分析:
经过测试,NX 加载时会按照外挂加载顺序进行,
(1) 如果顺序是 A,B, 那么此时 A 中的 b.dll 有效, B中的 b.dll 无效
(2) 如果顺序是 B,A, 那么此时 A 中的 b.dll 无效, B中的 b.dll 有效
NX 只认第一个 dll, 之后加载的无效!
如果顺序不当,就会造成某个外挂中功能出错!
结论:
加载多个外挂时,尽量避免同名的 dll 文件。如果不可避免,请注意外挂顺序。