Здравствуйте, коллеги.
Хочу получить список всех элементов в библиотеке (интерфейс 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 уже должна заполнить его.
Цитата: A.n.d.r.e.w от 26.02.10, 10:19:13
такое ощущение, что ksTreeNodeParam надо предварительно как-то создать.
Конечно надо поработать с ksTreeNodeParam, я с этими структурами никогда не работал, сильно вникать пока времени нет, но первое что приходит на ум - надо инициализировать его параметры методом
Init
Да, ещё заметил, вы же не получили интерфейс для rNode
Данный интерфейс может быть получен с использованием метода интерфейса KompasObject::ksGetLibraryTreeStruct.
Цитата: bergovin от 27.02.10, 09:09:31
Да, ещё заметил, вы же не получили интерфейс для rNode
Данный интерфейс может быть получен с использованием метода интерфейса KompasObject::ksGetLibraryTreeStruct.
Вот именно, не получил.
А как это сделать?? в функцию ksGetLibraryTreeStruct передаются две контанты а возвращает она boolean.
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
Блин который раз я уже парюсь...
Забываю про эту функцию GetParamStruct
Спасибо, все получилось! :)