明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 998|回复: 0

用ads改文字内容失败?

[复制链接]
发表于 2016-4-25 10:16:48 | 显示全部楼层 |阅读模式
本帖最后由 xinxirong 于 2016-4-25 10:32 编辑
  1. BOOL chgEntDxf1(ads_name ent, wchar_t * str)   
  2. {
  3.   struct resbuf *rbTargEnt;   // resbuf to hold ent data   
  4.   struct resbuf *rbTrav;      // resbuf to traverse linked list   
  5.   struct resbuf *tmp;
  6.   int rc;                     // Return code
  7.   wchar_t *sp2;
  8.   
  9.   rbTargEnt = acdbEntGet(ent);   
  10.   if(!rbTargEnt)   
  11.   {   
  12.     acutPrintf(_T("\nacdbEntGet失败. "));   
  13.     return FALSE;
  14.   }   

  15.   rbTrav = rbTargEnt;

  16.   while(rbTrav)   
  17.   {   
  18.     switch(rbTrav->restype)   
  19.     {   
  20.     case 1 : // 更改文字内容
  21.       //_tcscpy( rbTrav->resval.rstring,str);   

  22.       tmp = acutBuildList(RTSTR, str, 0);
  23.       sp2 = rbTrav->resval.rstring;
  24.       rbTrav->resval.rstring = tmp->resval.rstring;
  25.       tmp->resval.rstring = sp2;
  26.       acutRelRb(tmp);
  27.       break;   
  28.     }

  29.     rbTrav = rbTrav->rbnext;   

  30.   }//while   

  31.   rc = acdbEntMod(rbTargEnt);   
  32.   if(rc != RTNORM)   
  33.   {   
  34.     acutPrintf(_T("\n更改dxf组码1失败,可能是对象图层锁定"));   
  35.   }  

  36.   //清理resbuf
  37.   if(rbTargEnt)   
  38.   {   
  39.     acutRelRb(rbTargEnt);   
  40.   }   
  41.   return TRUE;
  42. }
复制代码
先是直接_tcscpy( rbTrav->resval.rstring,str);   改lisp值,errno系统变量为2 Invalid entity or selection set name
有人说直接改dxf1组码的值会很危险,必须新建resbuf*,但errno系统变量为101,也不知道是什么错误号

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 21:10 , Processed in 0.220427 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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