RUS  ENG 

mew (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Режимы объекта "Водопроводный колодец с гидрантом"
 
Все понятно. Я так и думала. Как-нибудь обойдем эту ситуацию
Режимы объекта "Водопроводный колодец с гидрантом"
 
Здравствуйте!

В слое "водопроводная сеть":
объект "потребитель" имеет 2 режима: 1 - включен, 2 - отключен;
объект "Водопроводный колодец с гидрантом" имеет 4 режима: 1 - гидрант отключен, 2 - гидрант включен, ...
Кажется немного странным, что режимы как будто переставлены местами.
То есть ожидается что у колодца режимы должны быть: 1 - гидрант включен, 2 - гидрант отключен, ...
Ну ладно, может быть так и задумано, НО:
В ZuluXTools есть метод Layer.NetWorkRecalc, который обновляет состояние сети (может, в Zulu есть такая функция, но я не нашла).
Если на карте отключить источник и вызвать этот метод, то все потребители переходят в режим 2 - отключен,
и гидранты тоже переходят в режим 2 - гидрант включен. Явная нестыковка.
Так все-таки режимы в гидранте идут в другом порядке, или метод работает некорректно?
Создать типовой участок
 
Здравствуйте!
Хочу программно инициировать ввод типового участка. Для этого перевожу слой в режим редактирования и устанавливаю режим редактирования eEditModePolyline.
Работает, но начинает вводиться примитив "линия". Можно как-то заранее установить, что надо вводить линию определенного типа и режима?
Расчет сети из программы
 
Вообще-то это все можно задать в компоненте ZCNTaskWinCtrl.
Попробовала, подключила к нему сеть - в среде разработки через NetworkCtrlName, или программно:
 TaskNet := CoZCNNetwork.Create;
 TaskWin.Network := TaskNet;
 TaskNet.OpenNetwork(LayerTask.Name, zcnNetTypeThermo);

После запуска программы в поле "Слой" пусто. Если сразу нажать кнопку "Расчет", выскакивает ошибка

Access voilation at address 05212542 in module 'Naladka.dll' of address 00000000.

Если щелкнуть сначала по кнопке "Слой", то появится имя слоя и все информация, потом расчет идет нормально.
Но мне кажется, это должно выполняться где-то внутри. Или можно вызвать какой-то метод инициализации?

Если задать в этом окне нужные параметры, можно как-то их сохранить? А считать или установить программно?
Расчет сети из программы
 
Тогда подскажите и по другим параметрам, задаваемым в окне "ZuluThermo".
Поверка: на нашла признак "Диаметры из конструкторского расчета"
Конструкторский: вообще не нашла параметров.
Параметры, задаваемые в окне "Настройка", доступны частично.
Остальные при расчетах из программы будут по умолчанию? (то есть то, что видно при открытии окна в среде zulu)
Расчет сети из программы
 
Здравствуйте!
Хочу попробовать сделать расчет сети из своей программы.
Есть тестовая сеть, в Zulu она считается нормально, если в настройках (Исходные данные) установлено значение "Принимать по умолчанию данные для участков длиной не более 5м".
Если я запускаю расчет для этой сети из программы, с использованием ZCNTaskThermoCtrl, то в окне сообщений
для маленьких участков без семантики выдается:
Ошибка ZD005: ID=38066 Неверное значение поля 'Dobr'-'Внутренний диаметр обратного трубопровода, м'
Вопрос: можно ли для этого компонента задать значение длины, как в настройках? В его свойствах ничего похожего не нашла.
Память ZuluServer
 
Спасибо за совет! Перенастроила подключение к Sybase через ODBC, и все стало нормально - днем память растет, ночью освобождается. Одно только не очень удобно: чтобы изменить подключение, приходится ходить по всем слоям и по всем базам в слое, что довольно долго. Это, конечно, дает гибкую настройку, но было бы хорошо иметь возможность сделать это где-то в одном месте :).
Память ZuluServer
 
Ну да, после Open я конечно использую другие методы для получения данных, например:
zds: IZbDataset;
zfi: IZbFieldInfo;

zds := zdb.Queries.Item[1].SelectByKey(key);
...
zfi := zds.GetFieldInfo(i);
fval := zds.FieldDisplayValue[i];
...
zds := nil;
zfi := nil;

Просто хочу понять, в каком случае сервер Zulu не хочет освобождать память при отключении клиента. И есть подозрение, что это происходит при обращения клиента к семантической БД.
Кстати, сейчас смотрела на домашнем сервере: при подкл-откл клиента память на сервере постепенно растет. Но когда какое-то время нет обращений, она скачком освобождается.
А у заказчика в сети есть программы-клиенты, которые работают круглосуточно. Может они не дают освободить память :) ?
Для нас это актуально, за неделю память, занимаемая ZuluServer, достигает 150 Мб, и приходится его перегружать, что на работающей системе не очень желательно :(.
Память ZuluServer
 
Есть подозрение на работу с базой данных. Мы используем Sybase SQL Anywere 10.1. Подключение через АДО, Provider=SAOLEDB.10.
В программе-клиенте использую объект ZbDatabase. У него есть метод Open, но нет Close, и это слегка смущает, т.к. в программе открываются разные семантические базы.
Если создать объект через zdb := CoZbDatabase.Create() при запуске программы,
а при выгрузке просто обнулить zdb := nil; - это корректно?
Память ZuluServer
 
Обновили ZuluServer, все клиенты отключаются корректно - а память растет.
Ночью, когда непрерывно подключено 6 клиентов, память стабильна,
с утра подключается еще 8-9, а когда они к вечеру отключаются - память не освобождается.
В диспетчере задач видно, что растет и память, и виртуальная память и ошибки страниц.
Непонятно - когда я просто запускаю какого-нибудь клиента, а потом выгружаю - память через некоторое время возвращается в исходное состояние.
Память ZuluServer
 
Версию скачаю. А насчет обнуления памяти вот откуда вопрос:
Я сначала не обнуляла указатели, но потом  заметила, что при отключении программы от сервера Zulu
Монитор пишет не Disconnected, а Killed. Стала перед выходом обнулять глобальные указатели и указатели - члены класса.
Стало отключаться корректно. Вот я и подумала, что это может иметь значение.
И еще непонятно - у нас на работе и у заказчика стоит одна и та же версия сервера, только у нас на 5 клиентов.
Программы вроде те же запускаем, но у нас память если и растет, то за ночь возвращается на место - а там нет.
Хотя мы в основном редактируем из оболочки Zulu, а они - из программы с компонентом ZuluMapCtrl.
В общем сейчас скачаю последнюю версию, поставим к заказчику через неделю и напишу результат.
Память ZuluServer
 
В клиентах, которые работают непрерывно, на мой взгляд есть критичные операции:
- обновление меток на карте (около 20) методом OnDrawUserLabels примерно раз в секунду;
- изменение положения символа (около 50) примерно раз в секунду.
На двух клиентах, которые подключаются, редактируют карту.
Остальные в основном просто смотрят.

Еще такой вопрос:
Я пишу на Дельфи.
Если я в программе использую переменную типа ILayer, причем я не создаю слой,
а просто присваиваю ей значение указателя на слой из компонента ZuluMapCtrl,
обязательно ли перед выходом обнулять эту переменную?

например,

LayerSeti: ILayer;
LayerSeti := zmpMain.Map.Layers.Item[IndexSeti];
...
LayerSeti := nil;

насколько это критично?
Память ZuluServer
 
Версия сервера: 6.0.0.3955
Память ZuluServer
 
Добрый день!
Мы столкнулись с такой проблемой:
На сервере работает ZuluServer на 20 клиентов. Некоторые клиенты работают круглосуточно,
другие подключаются и отключаются в течение дня. При подключении клиентов память,
которую использует ZuluServer, увеличивается, а при отключении уменьшается, но не полностью.
Таким образом, память непрерывно растет, за день до 10Мб.
Из-за этого приходится через какое-то время перезапускать ZuluServer.
Вы можете что-то посоветовать?
Есть ли общие рекомендации
 
Добрый день.
Для автоматизации работы диспетчерской службы у нас создан подробный водопроводный слой города, топологически верный. Он содержит более 20 000 элементов.
Кроме стандатрных типовых объектов использовались также и свои (например, стандартный и свой участок водовода).

Сейчас рассматривается возможность проводить гидравлические расчеты. Будут ли они выполняться, или для расчетов надо использовать только стандартные типовые объекты?
И еще - задать всю необходимую для расчетов семантическую информацию очень сложно (сейчас есть только длины, диаметры).

Можно ли вести расчеты только на небольшом фрагменте сети, или может надо рисовать сеть в упрощенном варианте? Если ли какие-то общие рекомендации?
Канализация - вопрос ко всем
 
Кто-нибудь занимался разработкой сетей канализации? Есть какие-нибудь нюансы в отличие от водопроводных?
Редактирование слоя
 
спасибо, проверю
Редактирование слоя
 
Было бы хорошо. Потому что сейчас в случае ошибки приходится перепротягивать весь участок заново. Причем надо, чтобы это выполнялось и при программном склеивании участков.
Редактирование слоя
 
Тогда учтите в новой версии еще одно замечание:
Допустим, я ввожу участок, потом ставлю узел(или другой типовой символ) и дальше веду участок. Чтобы исключить узел, есть пункт меню. Но по ошибке можно просто его удалить, и получаются 2 несвязанных участка. Теперь можно выбрать один из них в качестве мишени и "склеить" их.
Получается вроде бы нормальный участок. Но он ведет себя некорректно: например, если сменить направление участка, некотрые ребра куда-то перескакивают. Если в режиме редактирования "удалить точку перелома", в которой соединялись участки, то одно ребро пропадает.
Этот эффект возникает как при работе в редакторе Zulu, так и при редактировании из пограммы. Для наглядности лучше задать по несколько ребер в каждом участке.
Редактирование слоя
 
Добрый день.

Для редактирования слоя я использую компонент MapEditCtrl.
Возникли такие вопросы:

- по кнопке ввода символа можно ввести типовой объект, но не получается ввести примитив (кнопка ввода симвода недоступна). Видимо, надо сначала задать тип примитива (в Zulu кнопка "символ для ввода").
Если я открываю эту карту в Zulu, перехожу в редактирование слоя, выбираю символ для ввода и сохраняю, то потом в программе кнопка ввода символа становится доступна и мне предлагается тот сохраненный символ. А как программно выбрать символ для ввода? Есть такой метод?

- при вводе линии, полигона, текста можно ли предварительно задать стиль (в Zulu кнопки "Стиль заполненных фигур", "Стиль ломаной", "Стиль шрифта")?

В принципе кнопки редактирования, видимо, можно продублировать программно, назначая режим EditMode. Но все равно не хватает методов вызова окошек выбора символа и стиля.

Еще хочется реализовать функцию отката по Ctrl-Z (Undo) и возврата по Ctrl-Shift-z (Redo). Перехватываю OnKeyUp или OnKeyDown - в переменной Shift всегда установлены признаки ssShift и ssCtrl, независимо от того, нажимаю я эти клавиши или нет.

Заранее спасибо.
ZbDatabase.QueryByExample
 
Здравствуйте!
Из-за проблем с Builder решили попробовать писать на Delphi, опыт пока небольшой.
Подскажите, как правильно работать с ZbDatabase на Delphi.
1. Пусть есть функция с таким кодом
var:
 zdb: ZbDatabase;
 zds: IZbDataset;
...
begin
...
   zdb := CoZbDatabase.Create();
   Result := zdb.Open(bsn);
   if not Result then exit;
   zds := zdb.ActiveQuery.SelectByKey(el.Key);
   if Assigned(zds) then
...
Вопрос: перед выходом из функции как освободить память, используемую zdb и zds. Методов типа Close и Free, как например у TQuery, вроде нет.
2. Как обращаться к методу QueryByExample, чтоб найти запись по значению поля (не ключевого). Не могди бы Вы привести небольшой пример кода. А то у меня выдает Exception при обращении.
Спасибо
Подключение пользовательских меток
 
Спасибо, вроде сейчас работает правильно. Я использую только один тип меток для каждого типового символа, так что пока функций хватает. А вот привязка меток неудобна - когда я создаю файл меток, потом сдвигаю символ, а метка остается на старом месте. Было бы удобнее, чтоб координаты меток сохранялись в файле относительно координат соотв. символов.
Подключение пользовательских меток
 
Щелкаю по
"Загрузить обновление Zulu 5.2 (HTTP, ~4.1Мб) "
Получаю файл размером 6184971, идентичный скачанному 14.07.2006
Подключение пользовательских меток
 
Проверьте, пожалуйста, выложено ли на сайт обновление (HTTP). Я скачала текщую версию, но файлы идентичны скачанным ранее, и ведут себя соответственно неправильно.
Подключение пользовательских меток
 
Еще одно открытие - приложение под BDS правильно работает с картой, созданной в старой версии Zulu (когда можно было подключать по одному типу меток на объект)! Это если не проверять LabelsID :)
И не рисует метки в карте, отредактированной в новом Zulu :(
Страницы: 1 2 След.