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

Профессиональные вопросы => Программирование приложений => Тема начата: shilov от 07.03.13, 09:02:47

Название: Вытаскиваем массу из чертежа
Отправлено: shilov от 07.03.13, 09:02:47
Какой командой можно вытащить массу из штампа чертежа?
Название: Re: Вытаскиваем массу из чертежа
Отправлено: Sabahs от 07.03.13, 10:00:51
var
Stamp:IStamp;
StampText:IText;
Document:IKompasDocument;
LayoutSheets:ILayoutSheets;
LayoutSheet:ILayoutSheet;
...
LayoutSheets:=Document.LayoutSheets;
LayoutSheet:=LayoutSheets.Item[0];
Stamp:=LayoutSheet.Stamp;
StampText:=Stamp.Text[5];
StampText.Str - строка с массой.
Название: Re: Вытаскиваем массу из чертежа
Отправлено: Дмитрий Геннадьевич от 17.11.18, 21:45:11
что я делаю не так?
если раскомментировать последние строки внутри цикла, получаю ошибку при выполнении (компилится норм)

var
  it:byte;   
  LayoutSheets:ILayoutSheets;
  LayoutSheet:ILayoutSheet;
  Stamp:IStamp;
  ESKD_Name, ESKD_Number : IText;
begin
Documents := newKompasAPI.Documents;     
for it:=0 to (Documents.Count-1) do
  begin
    Document:=Documents.Item [it];
    LayoutSheets:=Document.LayoutSheets;   
    LayoutSheet:=LayoutSheets.Item[0];     
    Stamp:=LayoutSheet.Stamp;             
    //ESKD_Name:=Stamp.Text[1];               //считываем поле наименования чертежа (графа 1)
    //ESKD_Number:=Stamp.Text[2];             //считываем поле номера чертежа  (графа 2)
.....
.....

  end;
end;
Название: Re: Вытаскиваем массу из чертежа
Отправлено: Дмитрий Геннадьевич от 17.11.18, 23:06:56
Однако обнаружил, что в 14SP2 выдает ошибку, а в 15.1 работает нормально.
В более поздних не проверял...
Название: Re: Вытаскиваем массу из чертежа
Отправлено: Sabahs от 18.11.18, 05:33:03
var
  it:byte;
Должно быть - it:Integer;