明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1211|回复: 7

VS2019+cad2022 acedGrRead 函数问题

[复制链接]
发表于 2022-12-8 19:50:12 | 显示全部楼层 |阅读模式
VS2019+ObjectARX 2022 acedGrRead 函数会引起CAD奔溃。

同样的代码在vs2012+ObjectARX 2016内却没有问题。
有没有人碰到这样的问题?
发表于 2022-12-8 20:35:39 | 显示全部楼层
我自己的插件有两个实例用了acedGrRead,在AutoCAD2021上没出现会存在CAD奔溃。
 楼主| 发表于 2022-12-12 15:32:19 | 显示全部楼层
本帖最后由 xgr 于 2022-12-12 15:45 编辑

又测试一下,简单代码

  1. // 鼠标拖动部分
  2.   int track = 1, type;
  3.   struct resbuf result;

  4.   // 保存鼠标拖动时的动态坐标
  5.   while (track > 0)
  6.   {
  7.     acedGrRead(track, &type, &result); // 追踪光标移动

  8.     if (type == 3) // 如果用户按下了鼠标左键
  9.     {
  10.       track = 0;
  11.     }
  12.     if (type == 5)
  13.     {
  14.       acutPrintf(_T("\n%0.3f,%0.3f,%0.3f"), result.resval.rpoint[X], result.resval.rpoint[Y], result.resval.rpoint[Z]);
  15.     }

从可停靠面板按钮发出的命令会崩溃,从CAD命令行发出则没有问题。
这是测试的项目压缩包

链接:https://pan.baidu.com/s/1Nw5IuPeW_6AEhnCOADE36g
提取码:jsln



 楼主| 发表于 2022-12-12 15:45:45 | 显示全部楼层
gzxl 发表于 2022-12-8 20:35
我自己的插件有两个实例用了acedGrRead,在AutoCAD2021上没出现会存在CAD奔溃。

可以帮我看看吗
发表于 2022-12-12 18:54:17 | 显示全部楼层
哦,原来是通过面板按钮来实现acedGrRead
我试了下加acedGetAcadDwgView()->SetFocus()运行多次也不行
不知道CAD是什么机制了,那么是否曲线救国呢
在OnBnClickedButton2()里面:
acDocManager->sendStringToExecute(acDocManager->curDocument(), _T("XXYY "))
 楼主| 发表于 2022-12-12 19:21:40 | 显示全部楼层
设置焦点到CAD我也试过,也是不行,
cad2016内是没有问题,
帮我试试2021是否可行,可行的话降一下CAD的版本。
非常感谢你的帮助。
发表于 2022-12-13 11:32:27 | 显示全部楼层
 楼主| 发表于 2022-12-13 12:06:30 | 显示全部楼层
gzxl 发表于 2022-12-13 11:32
桌子官网的回答
https://forums.autodesk.com/t5/objectarx/calling-acedgrread-in-modelless-dialog-will ...

谢谢,明白了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 04:41 , Processed in 0.141778 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表