以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  不同版本的dll外部引用问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192155)

--  作者:zpsun2003
--  发布时间:2024/5/31 16:44:00
--  不同版本的dll外部引用问题
老师,之前我引用的SolidWorks2021软件的dll文件,现在想增加SolidWorks2024软件的dll的引用,这两个软件的dll文件名称都一样,有没有办法同时引用这两个,简写的时候用相同的简写名称
--  作者:有点蓝
--  发布时间:2024/5/31 16:59:00
--  
如果单独一个dll文件,直接改名即可。如果还有其它dll依赖,这个没有办法的。正常高版本应该是兼容低版本的吧,使用高版本的有啥问题?
--  作者:2900819580
--  发布时间:2024/5/31 17:01:00
--  
SolidWorks2021 弱弱问一句,这个用来作出什么功能


--  作者:zpsun2003
--  发布时间:2024/5/31 20:37:00
--  
用来三维出图的
老师,我试了高版本没法兼容低版本,接口访问不到。
--  作者:zpsun2003
--  发布时间:2024/5/31 20:39:00
--  
另外还有个很头疼的问题,用高版本的dll文件去替换低版本的dll文件,我把foxtable安装目录下的删除了,bin目录也删掉,重新放入高版本的到foxtable安装目录,重新引用。结果还是和低版本的软件进行通讯,高版本的通讯不了这是怎么回事?哪引用的dll还没删除吗
--  作者:有点蓝
--  发布时间:2024/6/1 8:37:00
--  
这个应该是软件自己接口的使用问题,和Foxtable无关的
--  作者:zpsun2003
--  发布时间:2024/6/2 12:01:00
--  
老师,因为SolidWorks老版本和新版本的接口dll文件名称都是相同的,我把原来的dll文件删除掉,引用也删除掉,再重新加新版本的dll文件,但是还是和老版本的dll接口通讯,我觉得是不是哪个地方我没删除全之前的dll文件?相同的dll文件名称更换的时候具体步骤应该是怎么样的,试了好多次了都不行


--  作者:有点蓝
--  发布时间:2024/6/2 20:58:00
--  
这建议去咨询SolidWorks官方,或者网上搜搜吧:https://www.baidu.com/s?wd=c%23%20SolidWorks
--  作者:zpsun2003
--  发布时间:2024/6/5 6:59:00
--  
我用Visual Studio引用SolidWorks不同版本的dll文件,发现高版本的是可以打开低版本的。现在用foxtable引用高版本的打开低版本的提示:检索 COM 类工厂中 CLSID 为 {AFBEC3B2-B1A6-4908-B608-D97D2AAB5498} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。是不是还是我有地方没有清干净


--  作者:puma
--  发布时间:2024/6/5 8:26:00
--  

用反射试一试?
Dim MXpath As String = "C:\\Users\\ma\\Desktop\\c#\\MX\\MX\\bin\\Debug\\MX.dll"
 Dim MXassembly As System.Reflection.Assembly = System.Reflection.Assembly.LoadFrom(MXpath)
 
 Dim MXNPOItype As Type = MXassembly.GetType("MX.ClassNPOI")

 Dim MXNPOI As Object = activator.CreateInstance(MXNPOItype)
 
 Dim a As String = MXNPOI.getsheetnames("d:\\123.xlsx")
 Output.Show(a)