Objectarx 遇到的坑

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闻缺陷则喜何志丹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值