• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Параметры описания спецификации

Автор Prog2, 27.03.09, 11:52:39

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

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

Prog2

Приветствую! Возникла такая проблема.
Мне необходимо из документа программно получить параметры текущей спецификации. Особенно интересует номер стиля оформления текущей спецификации (например, простая - 1, групповая... - 15 и т.д.).
Делаю так:

  short state;
  int result, styleNumber;

  ksSpecification * pSpcDoc = NULL;
  pSpcDoc = (ksSpecification *)pDoc->GetSpecification();   //Получаю указатель на интерфейс для работы со спецификациями (выполняется успешно)
 
  ksSpcDescrParam* spcDescr = (ksSpcDescrParam*)pKompas->GetParamStruct( ko_SpcDescrParam );   // Получаю указатель на интерфейс структуры параметров спецификации - успешно.
  spcDescr->Init();
  result=pSpcDoc->ksGetSpcDescription(-1, spcDescr, &state);   // Пытаюсь заполнить spcDescr структуру параметрами текущей спецификации.

  styleNumber=spcDescr->styleId;   // Собственно, то, что меня интересует - номер стиля оформления спецификации.


Но  после вызова result=pSpcDoc->ksGetSpcDescription(-1, spcDescr, &state) имеем result=0, т.е. вызов отработал некорректно и структура параметрами не заполнена.
Соответственно и spcDescr->styleId - пустой, что не есть гуд.

Подскажите, в чём может быть дело? Как правильно считать эти параметры?

sorockinalex1

24.09.09, 22:03:02 #1 Последнее редактирование: 24.09.09, 22:13:52 от sorockinalex1
тот же вопрос. помогите, пожалуйста, друзья!

var
state:bool;
.....
    ConnectToKompas;
    spcDoc:= ksSpcDocument(Kompas.SpcDocument);
    spcDoc.ksOpenDocument(FileName, 0);    //Открыть документ-спецификацию.
    //ищем все разделы спецификации
    //берем в работу текущий лист спецификации
    spec:=ksspecification(spcdoc.GetSpecification);
    //структура параметров спецификации
    spcstlpar:=ksSpcStyleParam(kompas.GetParamStruct(ko_SpcStyleParam));
    //инициация
    spcstlpar.Init;
    //структура параметров раздела спецификации
    spcstlsecpar:=ksSpcStyleSectionParam(kompas.GetParamStruct(ko_SpcStyleSectionParam));
    //инициация
    spcstlsecpar.Init;
    //структура параметров колонок спецификации
    spcstlcolpar:=ksSpcStyleColumnParam(kompas.GetParamStruct(ko_SpcStyleColumnParam));
    //инициация
    spcstlcolpar.Init;

    spcdescrpar:=ksSpcDescrParam(kompas.GetParamStruct(ko_SpcDescrParam));
    spcdescrpar.Init;
    spec.ksGetSpcDescription(spcDoc.reference,spcdescrpar,state);

как оформить последнюю строку???
выдаёт ошибку: "Types of actual and formal parameters must be identical"