Количество исполнений сборки

Автор Дмитрий, 03.08.10, 13:11:42

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

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

Дмитрий

Как программно (Delphi) установить в групповой спецификации количество исполнений сборки.
Написал следующий код:
var
SpcTuning: ksSpcTuningStyleParam;
begin
  spc := ksSpecification( kompas.SpcActiveDocument() );
  SpcTuning := ksSpcTuningStyleParam(kompas.GetParamStruct(ko_SpcTuningStyleParam));
  SpcTuning.Init;
  SpcTuning.countIspoln :=10;
  spc.ksSetTuningSpcStyleParam(-1, SpcTuning);
end;

При отработке команды
  spc.ksSetTuningSpcStyleParam(-1, SpcTuning);
возникает ошибка: "член группы не найден"
М.б. кто-нибудь подскажет в чем проблема?

Дмитрий

Что бы не было ошибки "член группы не найден" вначале нужно изменить код:
var
spcDoc : ksSpcDocument;
SpcTuning: ksSpcTuningStyleParam;
begin
  spcDoc := ksSpcDocument( kompas.SpcActiveDocument() );
  spc:=ksspecification(spcDoc.GetSpecification);

Но при выполнении всего кода удаляются старые настройки спецификации.
Как их сохранить пока не понятно.

Дмитрий

Проблема решена.
Помогли сотрудники из АСКОНа
Если кому-нибудь пригодится вот код:

procedure MyProc;
var
spcDoc : ksSpcDocument;
SpcTuning: ksSpcTuningStyleParam;
begin
  spcDoc := ksSpcDocument( kompas.SpcActiveDocument() );
  spc:=ksspecification(spcDoc.GetSpecification);

   //Установливаем параметры настроек спецификации документа.
   //Получаем интерфейс структуры параметров настроек спецификации
   SpcTuning := ksSpcTuningStyleParam(Kompas.GetParamStruct(ko_SpcTuningStyleParam));
   // получаем текущие параметры
   if Spc.ksGetTuningSpcStyleParam(-1, SpcTuning) = 1 then
   begin
     // устанавливаем свои параметры
     SpcTuning.countIspoln := 10; // кол-во исполнений
       // утверждаем их
     Spc.ksSetTuningSpcStyleParam(-1, SpcTuning);
   end;
end;