Форум пользователей ПО АСКОН

Профессиональные вопросы => Программирование приложений => Тема начата: sorockinalex от 23.11.07, 16:01:43

Название: Не заполняется информация о документе!
Отправлено: sorockinalex от 23.11.07, 16:01:43
Может кто подсказать, почему не работает вот этот код?
  iKompas:= KompasObject(GetActiveOleObject('Kompas.Application.5'));
  iDoc := ksDocument2D ( iKompas.ActiveDocument2D );
  iDocParams := ksDocumentParam (iKompas.GetParamStruct (ko_DocumentParam));
  iDoc.ksSetObjParam(iDoc.reference, iDocParams, DOCUMENT_OBJ);
  iDocParams.Init;
  iDocParams.author:=Edit1.Text;
  iDocParams.comment:=Edit3.Text;


вдобавок мне интересно как заполнитиь поле "Организация"????
Название: Re:Не заполняется информация о документе!
Отправлено: yarikv от 23.11.07, 16:50:16
Попробуй так:

iDoc.ksGetObjParam(iDoc.reference, iDocParams, DOCUMENT_OBJ);
iDocParams.author:=Edit1.Text;
iDocParams.comment:=Edit3.Text;
iDoc.ksSetObjParam(iDoc.reference, iDocParams, DOCUMENT_OBJ);
Название: Re:Не заполняется информация о документе!
Отправлено: sorockinalex от 23.11.07, 19:04:17
Спасибо, yarikv!
Ты уже не в первый раз помогаешь!

работает, только надо изменить на ALLPARAM:

  iKompas:= KompasObject(GetActiveOleObject('Kompas.Application.5'));
  iDoc := ksDocument2D ( iKompas.ActiveDocument2D );
  iDocParams := ksDocumentParam (iKompas.GetParamStruct (ko_DocumentParam));
  iDoc.ksGetObjParam(iDoc.reference, iDocParams, ALLPARAM);
  iDocParams.author:=Edit1.Text;
  iDocParams.comment:=Edit3.Text;
  iDoc.ksSetObjParam(iDoc.reference, iDocParams, ALLPARAM);