Название раздела в спецификации

Автор Prog2, 24.02.09, 12:02:58

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Prog2

Здравствуйте. Возникла такая проблема при работе со спецификацией.
Например, был создан объект спецификации в разделе "Детали" (sectionNum=20). Требуется изменить раздел на "Стандартные изделия" (sectionNum=25).
У меня получаются 2 варианта (оба не устраивают):
-1) Старая строка в спецификации изменяется, но при этом не меняется раздел (если sectionNum=0).
-2) Создаётся новый объект спецификации в нужном разделе, но старая строка остаётся (если sectionNum=25).


//Код сильно упростил.

  int sectionNum=0;  // Номер раздела в спецификации (0 - поиск по всем разделам, либо 25 - поиск в "Стандартных изделиях")

  refSpcObj = pSpcDoc->ksGetSpcObjForGeomWithLimit( "graphic.lyt", 1, refGeom, 0, 1, sectionNum, 0 );   //Ищем дескриптор существующего объекта спецификации.

  if ( refSpcObj != 0 ) pSpcDoc->ksSpcObjectEdit( refSpcObj );   //Если нашли, переходим к редактированию найденного объекта (и получаем см. п.1).

  else pSpcDoc->ksSpcObjectCreate( "graphic.lyt", 1, sectionNum,  0,  typeNum, 0 );   //Если не нашли, создаём новый объект (и получаем см. п.2).
.
.
.


Подскажите, как изменить и название раздела? Или как удалить существующий объект (найденную старую строку) спецификации?
И возможно ли это в принципе?

Taro

Для удаления подойдет функция DeleteObj.
Например, получили указатель на строку с помощью функции ksGetSpcObjForGeom, и затем в DeleteObj подаем полученный указатель

Prog2

Вам, Taro, огромное спасибо за идею! :) Так действительно очень неплохо получается.
А меня переклинило что-то: решил, что функция DeleteObj работает только с графическими объектами; а использовать её для спецификации не смекнул.
Ещё раз спасибо!