设为首页 | 加入收藏 | 繁体中文
400-696-5950
首页新闻中心解决方案
什么可能导致错误“在加载项'<加载项名称>'中调用方法'OnCmd'失败”
来源:SOLIDWORKS代理商-卓盛信息 点击数:1395次 更新时间:2020-7-17 13:59:32

什么可能导致错误“在加载项'<加载项名称>'中调用方法'OnCmd'失败”

文章来源:SOLIDWORKS代理商-卓盛信息

什么可能导致错误“在加载项'<加载项名称>'中调用方法'OnCmd'失败”,错误代码为0x080131522“,在SOLIDWORKS®PDM库中执行自定义API加载项时有多个错误安装了API加载项?当文件库中唯一的Visual BasicVB.Net加载项时,什么可能导致SOLIDWORKS®EnterprisePDM API加载项正常工作,但是当有多个VB时却没有。同一个保险库中的网络加载项?,如何排除无法分发或无法加载错误的SOLIDWORKS®PDMAPI加载项DLL在客户端系统上输入“无法注册COM DLL”?

7.png

此错误(请参阅附带的屏幕截图)可能是由于当前保管库中加载了两个或多个使用不同版本的Interop.EdmLib.dll的自定义加载项引起的,但其中一个加载项依赖于当前加载的Interops中不存在的新方法。解决方案是确保添加到Vault的所有自定义加载项都使用单个版本的Interop.EdmLib.dll 江苏SOLIDWORKS代理商为了进一步说明,让我们举一个具体的例子:如果你有一个使用Interop.EdmLib.dll版本5.15的自定义加载项,而另一个加载项使用版本5.135.15加载项使用版本5.13中不存在的SOLIDWORKS PDM API中的方法,然后当用户登录到其库视图时,资源管理器进程将在内存中加载一个Interop.EdmLib.dll,但不会同时加载两者。这是因为在Windows中,在任何给定时间只能将一个DLL实例加载到内存中。让我们假设,该资源管理器进程决定在内存中加载5.13 Interop.EdmLib.dll。当同一用户尝试执行5.15加载项时,他将收到上述错误,因为资源管理器只能访问5.13 SOLIDWORKS PDM API方法。苏州卓盛信息(400-696-5950要检查内存中当前加载的Interop,可以使用Process Explorerhttp //technet.microsoft.com/en-us/sysinternals/bb896653)。登录包含加载项的Vault后,启动进程资源管理器。选择“视图”,“下窗格视图”,“DLL”。将列版本和路径添加到下部窗格视图。选择资源管理器进程并找到Interop.Edmlib.dll。它将显示加载的版本。所有加载项中使用的互操作必须至少是加载项中使用的最新支持方法的版本。即如果您有使用EPDM 2011方法的加载项,以及使用较旧的SOLIDWORKS PDM版本编译的一个加载项,则应确保较旧的加载项使用较新的Interop来防止较新的方法失败。您应该能够通过使用加载项属性中的“文件”页面替换加载项中使用的旧互操作,只需删除较旧的互操作并替换为较新的互操作。SOLIDWORKS价格在客户端上重新启动Explore rprocess以确保之后加载更新的加载项和DLL以下列表显示哪个SOLIDWORKS PDM版本具有哪个互操作版本: EPDM2006 5.9 EPDM2007 5.10 EPDM2007SP3 5.11 EPDM2008 5.12 EPDM2009 5.13 EPDM2010 5.14 EPDM2011 5.15 EPDM2012 5.15 EPDM2013 5.16