whyangdong 发表于 2003-7-25 18:23:00

为什么这个添加扩展数据的函数实现不了

void addxdata()
{
    AcDbObject *pObj;
      ads_name ent;
      ads_point ptpoint;
               
    if(acedEntSel("\nSelectentity. ", ent, ptpoint)!=RTNORM)
      {
            acutPrintf("\nnothing selected!!");
         return;
         
      }      
      AcDbObjectId obId;
      acdbGetObjectId(obId,ent);
    acdbOpenObject(pObj,obId, AcDb::kForRead);
      int m=9;               
      struct resbuf *pRb,*pTemp;
      pRb=pObj->xData("yd1");
      if(pRb!=NULL)
      {
      acutPrintf("\n已经有护展数据");
      for(pTemp=pRb;pTemp->rbnext!=NULL;pTemp=pTemp->rbnext)
                {;}
      }
      else
      {
               
                if(acdbTblSearch("APPID","yd1",0)==NULL)
                  acdbRegApp("yd1");
            else
                {               
                        pObj->close();
                  
                }
                pRb=acutNewRb(AcDb::kDxfRegAppName);               
                pRb->resval.rstring="yd1";
      }
      pRb->rbnext=acutNewRb(AcDb::kDxfXdInteger16);            
                pRb->resval.rint=m;
                pObj->upgradeOpen();
                pObj->setXData(pRb);               
                pObj->close();
                acutRelRb(pRb);
               
}
页: [1]
查看完整版本: 为什么这个添加扩展数据的函数实现不了