Сейчас ZuluServer 1.0 (не 0.1) лежит на сайте (демо-версия). Часть пользователей тестируют его у себя. Можно скачать и попробовать. Доступ к серверу через TCP/IP, можно публиковать слои, карты и проекты. Дальше, открывать их в Zulu для просмотра и редактирования. Файловый доступ при этом отсутствует, вместо имени файла используется URL типа zulu://domain_or_ip_address/subdir/layer.zl. Адреса: ftp://ftp.politerm.com.ru/zuluserver/ZuluServerDemo.exe или http://www.politerm.com.ru/zuluserver/ZuluServerDemo.exe
2. Получили IElementKeys для пути в виде id_узла - id_участка - id_узла - ... Для каждого id_участка можно вытащить длину (см. IElements, IElement), сложить - вот и длина пути. 4. Layer.AddPolyLine делали ? 5. Слой надо сделать редактируемым (активный слой - слой, куда кликнуть можно) (см. Layers.EditLayer, Laysers.EditIndex)
Примеры еще идут с инсталляцией, но на сайте похоже они все есть. Больше примеров пока нет.
6. К элементам слоя можно обращаться независимо от того, видим ли он или загружен ли в карту. 7. Zulu используется в объектной модели оболочки (т.е. доступен из плагинов).
1. ITheme theme; theme := CoTheme.Create; 2. Не знаю, можно ли заполнять WayPoints именно так, чтобы получить VARIANT с SAFEARRAY, эементы которого имеют тип VT_I4. Проверьте в отладчике, что WayPoints.vt = VT_I4 or VT_ARRAY. Вот, кстати, в вызове "varArrayCreate([0,1],varVariant);" д.б. varInteger в последнем параметре. 3. IControlBar используется только внутри оболочки ГИС (из плагинов). 4. Уточните, что именно не ясно. Координаты символов известны. Дальше заполнить PolyLine (AddPoint) и Layer->AddPolyLine. 5. InsertSymbol вызывает интерактивное действие "Вставка символа", как если бы нажали на соотв. кнопку. Работает, разумеется, в режиме редактирования слоя.
UMix, мы не сильны в Delphi, но похоже дело в следующем: В метод GetShortWay надо передать VARIANT, в котором должен находиться SAFEARRAY из элементов Long (VT_I4, по-паскальски LongInt). Думаю, что array[0..1] не приведется к такому виду автоматически. В C++Builder есть объект Variant (В Delphi тоже либо он, либо подобный), один из конструкторов и инициализирует его как SAFEARRAY, принимая в качестве параметров адрес на первый элемент и верхнюю границу массива. Скорее всего подобные Variant и надо подставлять. На худой конец заполнить руками структуру VARIANT и передать ее явно.
Про Tracking: Значит не один-в-один. Машинки ездят по таймеру. Там точно в ним все в порядке ? Уточните, какой метод не отрабатывает при смене положения автомобилей.
Добрый день Arto! On Error перехватывает т.н. исключения (exception). Таких в ZuluXTools немного, в остальных случаях методы возвращают либо False, либо пустой объект. А для подобных случаев On Error не предназначен.
Vitaliy, По первому: В редакторе запросов добавить таблицу kamera и дважды добавить zadvigka. Получится три окошка таблиц, и поля таблицы kamera связывать с zadvigka'ми. Поля n_zad у zadvigka1 и zadvigka2 включить в список полей запроса. По ним можно будет указывать условия в браузере БД.
По второму: Похоже у нас ошибка в генераторе запросов - исправим. SQL-запросы генерятся "на лету", и подправить что-то пользователю не получится.
Что-то подобно можно сделать, добавив еще один элемент MapCtrl, отлавливать события от исходной карты и перемещать центр карты в навигаторе; ну и наоборот, переместились в навигаторе - перемещаем центр в исходной карте.
Имеется в виду приложение на VB с использованием ActiveX компонент ? Навигатор - окошко оболочки Zulu и не может быть использовано в прочих приложениях.
<Dima>, я собрал Ваш вариант - ничего не обнаружилось. Дважды нажать кнопку "..." не удастся (я правильно понял, что это двойной щелчок) - открывается окно справочного браузера. Если ошибка не исчезает - свяжитесь со мной ([email protected]). Лучше послать zb-файл, чтобы посмотреть в чем дело.
Andrey, сетевого ключа у нас нет. Обучение включает рассказ с демонстрацией по всем функциям системы, выполнение самостоятельной работы для закрепления материала и контрольную работу.
<B>Zest</B>, Visual Basic .NET мы в руках не держали, но думается, что там достаточно дважды щелкнуть по кнопке в дизайне формы, чтобы открылось окно кода, где автоматически вставляется заготовка обработчика события Click. В тело этой процедуры и нужно вставить приведеный пример кода: ( If ZuluCommDlg1.ShowOpen(1) Then MapCtrl1.MapPath = ZuluCommDlg1.FileName End If )
Это собщение отладчика Delphi о возникновении исключения (exception). Это исключение штатное, обрабатывается в Zulu. Как и при других исключениях, типа невозможности открытия таблицы и какие-либо еще, Delphi под отладкой будет выдавать сообщение, и , похоже , они не отключаются.
Нет, пока такой возможности нет. Есть в плане сделать такую возможность в виде модальной панели предварительного просмотра, разворачивающейся на весь экран.
ga, из AutoCAD через DXF у нас берутся только линии в один слой. Можно воспользоваться AutoCAD Map и перебросить в MapInfo MID/MIF послойно - его мы читаем без проблем. Новый импорт из DXF пока делаем.
Oldman, если версия действительно шестилетней давности, то скачайте новую версию. Скачивать лучше версию целиком (в разделе download она идет как Демо).
2 <B>DmitriyG</B>: Скорее всего Вам надо обновить Zulu. Не так давно мы исправляли ошибку с подключением MapCtrl к MapEditCtrl. Если подключать программно, то из двух строчек кода надо оставить одну: MapEditCtrl1.Map := MapCtrl1.ControlInterface;
Цитата:Я знакомлюсь с ZULU и у меня возник вопрос: "Есть водопроводная сеть, на каком-то участке произошла авария, можно ли рачитать какое запорное устройство надо перекрыть, что бы отключить минимальное количество потребителей"
1. Щелкните мышкой по участку (участок "заморгает") 2. Нажмте кнопку "Найти отключающие устройства" (с изображением вентиля зеленого цвета) 3. В окне сообщений откроется закладка со списком устройств, которые надо отключить 4. Двойной щелчок по строке "Выход" в конце списка - закрыть закладку.