Тема: TextStyles

хочу сделать активным определённый текстовый стиль (Standard) что бы потом в этом стиле добавить текст с высотой этого стиля. для этого использую код:

n := acadapp.ActiveDocument.TextStyles.Count;
for I := 1 to n do
  if acadapp.ActiveDocument.TextStyles.Item(i).Name = 'Standard' then Break;
// делаем активным нужный стиль
Document.activetextstyle := TStyle.Item(i);

загвоздка в следующем: хотя в n возвращает опредеённое число (возвращает 8, хотя стилей 7, то же не понятно) acadapp.ActiveDocument.TextStyles.Item(i) - недоступное значение
что делать?
autocad2004, делфя 2006

Re: TextStyles

1) Индекс для метода item должен быть от 0 до N-1, где N количество объектов в коллекции.
2) Значение переменной цикла может быть неопределенным после выхода из цикла.
так-что будет как-то так:

for j := 0 to AcadDoc.TextStyles.Count-1
do if AcadDoc.TextStyles.Item(j).Name='Standard'
   then begin
     TxtStyle:=AcadDoc.TextStyles.Item(j);
     AcadDoc.ActiveTextStyle:=TxtStyle;
     Break;
   end;

Re: TextStyles

мда... в принципе я всё тоже самое и написала, не вижу принципиальных отличий... мне пришлось решить эту проблему следующим образом: написала на с++ dll-ку с необходимой функцией и подключила её к проекту. пыталась писать dll-ку на других языках, но не получалось подключиться.