TMapGisServer.GetAlsList |
Запросить список доступных пользователю атласов на ГИС-сервере
function GetAlsList(number : integer; buffer : PTMCMAPLIST; length : integer): integer;
Описание: Запросить список доступных пользователю атласов на ГИС-сервере.
Входные параметры: - number - номер активного подключения к ГИС Серверу (нумерация осуществляется с 1); - buffer - адрес памяти для размещения списка атласов; - length - размер выделенной области памяти в байтах. Возвращает общий размер считанной записи или 0 - при отсутствии данных или ошибке. Метод помещает в память по адресу buffer список данных для подключенного пользователя в такой же иерархии, как они были сгруппированы в Администраторе ГИС Сервера. То есть не каждый возвращаемый элемент является алиасом, ссылающимся на атлас, а может является также заголовком группы, что определяется полем TypeLevel – для комментариев (заголовков групп) его значение равно 0. Перед запросом перечня доступных пользователю данных можно с помощью этого же метода сделать запрос необходимого размера выделяемой памяти для размещения перечня данных. Для этого данный метод вызывается с нулевыми параметрами buffer и length. В этом случае метод возвращает размер необходимого блока памяти в байтах.
type TMCMAPLISTITEM = packed record // описание элемента дерева проекта Level : longint; // Уровень вложенности элемента с 1 до MaxLevel Flags : longint; // флаг редактирования 0 - нет прав редактировать TypeLevel : longint; // Тип файла MAPFILES, Если это 0 - комментарий Reserve : longint; Name : array[0 .. 255] of GtkChar; // Имя элемента (Алиас) end;
// СПИСОК ДОСТУПНЫХ КАРТ TMCMAPLIST = packed record Ident : longint; // Идентификатора записи 0x7F7F7F7F Length : longint; // Общая длина записи Count : longint; // Число элементов в списке MaxLevel : longint; // Максимальный уровень вложенности элементов (дерево) // Массив элементов списка доступных карт (в количестве Count) Item : array [0..1] of TMCMAPLISTITEM; end; PTMCMAPLIST = ^TMCMAPLIST;
Перед передачей адреса структуры в функцию, необходимо в нее установить следующие значения: Ident = 0x7F7F7F7F; Length = sizeof(TMCMAPLIST); Count = 0; MaxLevel = 1; |