Получить состав сборки с помощью API

Автор posdnyaa, 10.08.15, 10:58:01

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

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

posdnyaa

Здравствуйте.
Имеется сборка из нескольких моделей.
Как с помощью API определить какие файлы моделей входят в сборку (их имена, путь к ним)?
Спасибо.

http://forum.ascon.ru/index.php/topic,27478.msg205429.html#msg205429
Затем посмотреть свойство FileName у полученных компонентов.
+ Благодарностей: 1

posdnyaa

А подскажите, пожалуйста, как получить информацию по каждому файлу сборки не открывая каждый из них?
Т.е. я понимаю как вытащить инфу из активного файла:

var
KompasAPI: IApplication;
doc: IKompasDocument;

begin

  KompasAPI := IDispatch(CreateKompasApplication) as IApplication;
  doc := KompasAPI.ActiveDocument;


и дальше из этого doc получаю все нужные свойства.

PropMng := KompasAPI As IPropertyMng;
    PropKeep := getPropertyKeeper(doc);

     for i := 0 to 23 do
    begin
      Prop := PropMng.GetProperty(doc, i) as IProperty;
      PropKeep.GetPropertyValue(Prop, v2, false, b1);
      text := string(Prop.name) + ' = ' + string(v2);
      LogForm1.LogText.Lines.Add(text)
    end;


А как в этот doc "загрузить" не активный документ, а а другой документ, зная путь к его файлу?
Спасибо.

Oleg_S

for i := 0 to 23
23 - откуда это магическое число?

plscomeback

Цитата: posdnyaa от 10.08.15, 10:58:01
Здравствуйте.
Имеется сборка из нескольких моделей.
Как с помощью API определить какие файлы моделей входят в сборку (их имена, путь к ним)?
Спасибо.

Вроде как нельзя без открытия, я конечно не программист, но постоянно сижу в этой ветке, в мета данных самого файла такого нету, это информация находится непосредственно в самой структуре файла, еще недавно изменилась политика по invisible... то есть через компас invisble вроде как можно