一,已解决。
1, 工作者线中调用acDocManager->sendStringToExecute,如果第三个参数(bActivate)为true,则在CAD2010下崩溃,CAD2018不会崩溃。
2,acad.rx会自动加载arx,但如果有多个搜索目录有acad.rx只有第一个acad.rx起作用。解决方法:用acad.lsp。如果多个搜索目录有acad.lsp,也只有一个acad.lsp起作用。
3,写了个crx,加载不了。需要的dll所在路径 已经加到 option的搜索目录了,后来发现是没加信任目录,acad.exe没加信任目录,会提示;accoreconsole.exe不会提示,直接失败! 问题出现环境:CAD2018。
4,long appID = 0;
bool b2 = acedAddObjectContextMenu(pClass, p , &appID); // 向AutoCAD应用中添加实体对象上下文菜单
在CAD2010下低几率崩溃,CAD2010、CAD2016、CAD2017、CAD2018下没问题。
改成
static long appID = 0;
bool b2 = acedAddObjectContextMenu(pClass, p , &appID); // 向AutoCAD应用中添加实体对象上下文菜单
就没问题了。
可能原因:
acedAddObjectContextMenu 记录并使用了appID的地址。
2,未解决。
1,自定义实体,高亮显示的问题。需求:某个自定义实体,高亮的时候,我想加个边框。
遇到的问题:
a,subHighlight subUnhighlight 是const,无法修改成员变量,这个好解决:mutable bool m_bHighLight; b,subHighlight 无法调用非const函数 wordDraw recordGraphicsModified,下面的3个函数也没用。 actrTransactionManager->queueForGraphicsFlush(); actrTransactionManager->flushGraphics(); acedUpdateDisplay();
2,自定义实体,派生于标注,捕捉点全乱了。