Тема: acedSSGet (CP...)
Столкнулся с интересной проблемой :)
делаю выборку из чертежа полигоном (_cp)
код работает в acad2004-2008. А вот в 2009 на возврат acedssget идет -5001 (RTERROR)
В чем может быть проблема?
... int es; ads_name ssname; struct resbuf *pointlist; pointlist = PointsToList(RamkaPoints); if( (es = acedSSGet(_T("_CP"), pointlist, NULL, NULL, ssname)) != RTNORM) { acutRelRb(pointlist); return false; } ...
ну и собственно функция формирования resbuf.
resbuf *PointsToList(AcGePoint3dArray ptArray) { resbuf* ptList = NULL; resbuf* lastRb = NULL; resbuf* rb; int len = ptArray.length(); for (int i=0;i<len;i++) { if ((rb = acutNewRb(RT3DPOINT)) == NULL) { acutRelRb(ptList); return NULL; } copyPt(rb->resval.rpoint, asDblArray(ptArray.at(i))); if (ptList == NULL) { ptList = rb; lastRb = rb; } else { lastRb->rbnext = rb; lastRb = rb; } } return ptList; }