工黎
我也不清楚,也没研究过后期绑定。以前看C++教程的时候,是有说过后期绑定。远致静宁
他的Catch里面也没啥问题,无非就是编程前期绑定了但是这个后期绑定,我刚才试验了一下,也是不成功,运行时报错,后期绑定还是没搞懂
了老我果如
我写了不管版本的方式
白小
?如果我老了 可以发出来借鉴一下不
了老我果如
就是用反射
把cad中要处理的操作封装为不同版本的dll,然后检测当前电脑运行的cad版本,来反射调用相应的dll
uib
明白了老我果如
:)怎么可能不明白海若
?如果我老了 ?如果我老了 不是要引用dll么 不管版本怎么做到的啊
工黎
不要使用新版本的函数方法。然后运行的时候通过判断运行的CAD软件版本,反射调用相应的DLL
海若
不懂怎么操作 有例子么:)远致静宁
终于搞懂了,后期绑定(Marshal.GetActiveObject("AutoCAD.Application"))在VS里面报错,是因为VS用的管理员方式运行,AutoCAD是用普通用户模式运行的;
改为编译后,用普通用户方式运行代码,成功。
不知道为什么会这样。
即使AutoCAD用管理员方式运行(VS默认也是管理员方式运行的,即两者都是管理员方式运行),也会报错