3软件架构师何志丹

 

一,已解决。

 

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,自定义实体,派生于标注,捕捉点全乱了。

posted on 2023-04-13 06:40  闻缺陷则喜何志丹  阅读(75)  评论(0编辑  收藏  举报  来源