帅老虎 发表于 2003-12-31 08:34:00

Arx程序的兼容性问题

ARX由于是基于CAD开发的,那么利用ARX SDK14开发的和ARX SDK2000开发的程序可不可以兼容呢?用ARX SDK14开发的程序能用于CAD2004吗?同样用ARX SDK2000能用于CAD2000吗?

中国虫 发表于 2003-12-31 09:42:00

不能。
这个问题其实不少朋友不明白,这里就多说两句。
造成不明白的原因,那是对Win32函数输出的不理解。简单说个例子:
A.DLL(A.EXE)的1.0版输出了一个函数Func1(int),而B.arx调用了此函数,
而A.DLL(A.EXE)的2.0版输出了一个函数Func1(int,bool),而B.arx如果不重新编译肯定加载不成功。所以...
以上就的是ACAD的输出函数/类有变化,所以不能兼容;同样道理ACAD2000的输出函数ACAD2002都有,并且是一模一样的,所以在SDK2000上编译的ARX可以在ACAD2002上用。
至于R14-R2002都可以用VC6,而R2004用VC7,至少有一个DLL(MFC42.DLL/MFC70.DLL)是变了,这是肯定不兼容的。

帅老虎 发表于 2003-12-31 13:49:00

斑竹同志讲的好极了,但是知道了正确答案后反而让我对ARX有了点看法。因为如果我编写了一个适合CAD14的ARX程序,也许就不能在CAD2000中使用了,反之亦然。而现在在许多单位中使用的大都是CAD14,而CAD的高级版本是一种发展趋势,这就造成了现有资源和未来发展方向上的矛盾。
请问大家对此如何看待?(帅老虎期待你的回答)

goldenshin 发表于 2004-1-5 09:45:00

这是没有办法的事情. 毕竟这是在人家的产品上做开发.
从新编译一下也不是很难的事情吧.

另外, VC7 也可以用于R14 \ R2000 \...的开发.

hearts 发表于 2004-1-9 09:17:00

2004的二次开发有哪些提高呢

goldenshin 发表于 2004-1-9 10:01:00

R2004的提高我看有两方面,
1)用.Net开发,效率更高了,不过这不是R2004本身的功劳
2)新增加的一些类,我认为具有重要意义,那就是:
AcDbDataCell
AcDbDataTable
AcDbDataColumn
我觉得AutoCAD2005所增加的许多功能,都是基于这几个类的.
数据管理将更上一层楼.


R2005VB\c#的支持, 我认为对AutoCAD的二次开发是一次革命.

unionsoft 发表于 2004-1-10 13:46:00

程序代码可以一样,只要你不使用2004中新的类或函数,
然后编译成R14,R2000/R2002,R2004三个版本

efan2000 发表于 2004-1-10 21:50:00

如果使用COM方式调用,我觉的也可以通用的,不过那样利用VC可就大材小用了。

帅老虎 发表于 2004-1-16 08:56:00

谢谢大家的回答,我刚刚出差回来,才看见这些帖子,真的感谢大家的帮助。

mycreatedrea 发表于 2004-1-18 13:55:00

togoldenshin :
请问哪里可以得到autocad r2005或r2005的测试版?
页: [1]
查看完整版本: Arx程序的兼容性问题