AutoCAD 2010 开发与之前版本的区别
1. 使用了新的编译器,使编译文件更小了。
2. 部分函数签名和类的结构有所改变,比较显著的改变就是一些继承于 AcDbObject 和 AcDbEntity 的类的成员函数。好处就是类的结构清晰统一了。但也招来麻烦,所有的 Custom Object 和Coustom Entity 中用到worldDraw() 的编译时都会有这样的错误:
error C3248: 'AcGiDrawable::worldDraw': function declared as 'sealed' cannot be overridden by 'YourClass::worldDraw'
解决方案:用
protected virtual subFoo(…)
代替
public virtual foo(…)
重写基类的方法。如:subWorldDraw(…) 代替 worldDraw(…)
3. CUI and UI Update:Ribbon 和 AppMenu 有所改变。
4. Installer update:
AutoCAD 2007 = R17.0
AutoCAD 2008 = R17.1
AutoCAD 2009 = R17.2
AutoCAD 2010 = R18.0
参考出处: Through-the-Interface Migrating your application to work with AutoCAD 2010