Библиотека моделей.

Автор A.n.d.r.e.w, 26.02.10, 10:19:13

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

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

A.n.d.r.e.w

Здравствуйте, коллеги.
Хочу получить список всех элементов в библиотеке (интерфейс ksTreeNodeParam)
не пойму как использовать функцию ksGetLibraryTreeStruct
в SDK написано, что ksTreeNodeParam можно получить с помощью этой функции

делаю так


const LibName='C:\Program Files\ASCON\Libs\lib.lfr';
var Kompas: KompasObject;
var rNode: ksTreeNodeParam;
...

Kompas := KompasObject(CreateKompasObject);
result:=Kompas.ksGetLibraryTreeStruct (LibName, rNode);


так вот result всегда false.
такое ощущение, что ksTreeNodeParam надо предварительно как-то создать.
а функция ksGetLibraryTreeStruct уже должна заполнить его.

bergovin

Цитата: A.n.d.r.e.w от 26.02.10, 10:19:13
такое ощущение, что ksTreeNodeParam надо предварительно как-то создать.
Конечно надо поработать с ksTreeNodeParam, я с этими структурами никогда не работал, сильно вникать пока времени нет, но первое что приходит на ум - надо инициализировать его параметры методом Init

bergovin

Да, ещё заметил, вы же не получили интерфейс для rNode

Данный интерфейс может быть получен с использованием метода интерфейса KompasObject::ksGetLibraryTreeStruct.

A.n.d.r.e.w

Цитата: bergovin от 27.02.10, 09:09:31
Да, ещё заметил, вы же не получили интерфейс для rNode

Данный интерфейс может быть получен с использованием метода интерфейса KompasObject::ksGetLibraryTreeStruct.

Вот именно, не получил.
А как это сделать?? в функцию ksGetLibraryTreeStruct передаются две контанты а возвращает она boolean.

Slaviation

#4
const LibName='C:\Program Files\ASCON\Libs\lib.lfr';
var Kompas: KompasObject;
var rNode: ksTreeNodeParam;
...

Kompas := KompasObject(CreateKompasObject);
rNode := ksTreeNodeParam(KompasObject.GetParamStruct(ko_TreeNodeParam))
result:=Kompas.ksGetLibraryTreeStruct (LibName, rNode);

Т.е. нужно сначала получить "корзинку", а потом ее подставить под Kompas.ksGetLibraryTreeStruct

A.n.d.r.e.w

Блин который раз я уже парюсь...
Забываю про эту функцию GetParamStruct

Спасибо, все получилось!  :)