RUS  ENG 

Дмитрий Озеров (Все сообщения пользователя)

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

Страницы: Пред. 1 ... 25 26 27 28 29 30 31 32 33 34 35 ... 40 След.
Отображение слоя
 
Сегодня выложили обновление, там исправлена эта ошибка. Скачайте, попробуйте.
Отображение слоя
 
Да, Вы правы, в примере я ошибся, как и в описании первый параметр - строки запроса. Ошибка "Неправильно сформирован список полей" возникает из-за того, что условие указано для поля Sys, которое не входит в список полей визуального запроса (оно указано только как поле связи). Если нужно найти запись именно по Sys, то можно воспользоваться методом SelectByKey.
Отображение слоя
 
Я так понимаю, что после присвоения переменная Результат остается пустой (и не имеет явно тип IZbDataset). А может во внешней компоненте написать метод QueryByExample типа такого:
Function QueryByExample(db as ZbDatabase, Fields, Strings) As ZB.IZbDataset
Dim ds As ZB.IZbDataset
Dim qr As long
db.QueryByExample(Fields, Strings, qr, ds)
Return ds
End Function
Файлы описатели и файлы с исходными данными
 
Дело вот в чем: Zulu преобразует сжатые изображения jpg во временные файлы в формате BMP плюс формирует еще временные файлы промежуточных изображений для оптимизации скорости отрисовки. Если каждый jpg весит 9-13Мб, то размер каждого временного файла будет за 100Мб. Исходный формат картинок не важен, если он не BMP, то Zulu будет делать временный файл BMP.
Далее, Zulu таким образом подготавливает файлы на лету, т.е. в тот момент, когда изображение нужно вывести на карту, и если Вы сгруппировали большое число таких растров и решили отобразить "весь город", то Zulu будет распаковывать ВСЕ ЭТИ растры.

Лучший выход следующий:
1. Растры хранить не в виде jpg, а в виде BMP. Это существенно съэкономит время на распаковку, заодно Вы оцените сколько реально места Вам нужно будет под все это поле растров. На диске, где находится папка для временных файлов нужно будет место только под дополнительные временные файлы.
2. Уменьшите разрешение растров, судя по размеру растров, оно избыточно.
3. Можно еще указать другое расположение папки для временных файлов (в настройках Windows), если на диске C: совсем мало места.
Отображение слоя
 
В метод QueryByExample в последнем параметре нужно передавать ссылку на переменную, куда будет помещена ссылка на объект IZbDataset. Не совсем понятно откуда берется ZuluLib.CreateIZbDataset? Объект типа IZbDataset несоздаваемый, его могут только возвращать методы других объектов.
На Delphi бы звучало так:
var
  ds: IZbDataset;
  qr: long;
...
DBPnthouse.QueryByExample("=1", "Sys", qr , ds);
Отображение слоя
 
Можно сделать так:
MapCtrl.DrawInLayerExtents(MapCtrl.Map.Layers.Active);
Метод ExecCommand служит для вызова команд интерфейса, как если бы пользователь нажал нужный пункт меню или кнопку. Дополнительные параметры этого метода (планируется для задания входных аргументов команды) пока зарезервированы.
Предложения улучшению интерфейса Zulu 5.2
 
vadim, мы учтем это замечание.
Изменить параметры в zb файле
 
Можно сделать так:
// добавляем в базу источник ADO и присваеваем его таблицам
adosource := zbd.Sources.Add(zbstADOConnection, format('FILE NAME=%s',[FilenameEdit1.FileName]);
for i:=0 to zbd.Tables.Count - 1 do
   zbd.Tables[i].Source := adosource;
   zbd.Tables[i].Name := 'newname';
end;
zbd.Save(0);
Обращение к базе данных
 
Строки запроса можно разделять знаком переноса строки (код ASCII 10):
oZQ.QueryByExample('=1'+Chr(10)+'=2'+Chr(10)+'*стр*','f1'+Chr(10)+'f2'+Chr(10)+'f3', i, oZDS))
Обращение к базе данных
 
Да, можно. См. ZbQueryInfo.QueryByExample - условия запроса туда передаются в том же виде как в окне браузера базы данных.
Прикрепление файлов
 
Да, есть два способа:
1) В таблицу добавить строковое поле, куда будут записываться пути к документам, это поле добавить в запрос, и в настройках поля в рубрике Дополнительно добавить с список тегов тег "(document)".
2) Добавить в таблицу (и в запрос соответственно) поле типа ParadoxOLE (для таблиц Paradox) или (BLOB для SQL-таблиц). Тогда в это поле можно будет помещать и документы (Word, Excel) и картинки и текст и медиа-файлы...
Использование ZULU в газовых сетях
 
Да, конечно же будет и анонс и страница на сайте.
Проблема с базами даных в Zulu
 
Добрый день! Сообщите, пожалуйста, версию MySQL, которую Вы используете, версию ODBC драйвера к MySQL, а также пример какой-нибудь таблички, где это проявляется и файл описателя базы данных .zb, где используется эта таблица (можно послать все это на [email protected] (Дмитрий)), тогда мы сможем воспроизвести проблему и сказать в чем дело.
Координаты видимой области карты
 
Да, но MapScale именно означает сколько единиц карты (сантиметры) содержится в одном пикселе изображения.
ZULU и Антивирус Касперского 6.0. Тормоза.
 
У нас у самих стоит Касперский (версии 7.0) и тормозов не наблюдалось... Возможно дело в настройках Файлового Антивируса... он, возможно, постоянно проверяет открываемые файлы вне зависимости от расширения, например...
это как предположение..., т.к. мы реально не сталкивались с конфликтом Zulu и Касперского...
проблема с закладками
 
Да, в 6-й мы изменили дизайн, число закладок, помещаемое в меню ограничено, остальные доступны в панели Закладки. Возможно, что 16 - мало, мы сделаем побольше...
item.visible
 
см. ObjectType.Visible, ObjectMode.Visible, Layer.SetTypeVisible, Layer.SetModeVisible, eThemeInvisible
item.visible
 
Добрый день.
Можно скрывать объекты определенных типов и режимов, а также через раскрасску.
Конфликт Zulu и OLE.
 
Проблема с драйвером ключа. Такое возможно при установке другого софта со своими драйверами HASP (или другого типа ключа), либо может быть при установке софта с Hasp-эмулятором. Выход - надо переустановить драйвер HASP. Свежий драйвер можно скачать по ссылке на странице Download на нашем сайте. Драйвер надо сначала деинсталлировать (hinstall.exe -r), а потом установить заново (hinstall.exe -i).
С# и прорисовка Polyline
 
<blockquote>Цитата:<hr size="1" noshade><i>В ближайшее время планируется работы Ваших компонент в Windows Mobile? Интересует компонент MapCtrl</i><hr size="1" noshade></blockquote>В ближайшее время - нет. Саму возможность пока изучаем...
Конфликт Zulu и OLE.
 
Оказывается, что проблема с вылетом в методе OlePropertySet имеет широкое распространение в разных версиях C++Builder от 6.0 до 2007 (см. Google с запросом "OlePropertySet violation") и с разными проектами.

Расследование показывает, что в общем виде проблема в следующем: при использовании в проекте шаблона класса TAutoDriver<IDispatch>, C++Builder генерит код для этого шаблона с учетом размера объекта, отличающегося от того, который используется в недрах Vcl, в т.ч. в реализации метода Variant.OlePropertSet.

Код для Variant::OlePropertySet выглядит следующим образом:
 
 // кусок CBuilder6\Source\Vcl\variant.cpp
 void Variant::OlePropertySet(const String& name, TAutoArgsBase& args)
 {
   // Bind to IDispatch in this Variant
   //
   TAutoDriver<IDispatch> disp;
   disp.Bind(*this /* operator LPDISPATCH() AddRef()s already */, false);

   // Look up the dispid of the name passed
   //
   DISPID id;
   OleCheck(disp.GetIDsOfNames(WideString(name), id));

   // Do Invoke
   //
   OleCheck(disp.OlePropertyPut(id, args));
 }

Как только TAutoDriver<IDispatch> встречается в нашем проекте, C++Builder скомпилирует его код c учетом настроек нашего проекта, а линкер включит именно эту версию реализации в исполняемый модуль, ОДНАКО размер объекта в этом случае оказывается на 4 байта меньше (если использовать стандартные настройки компиляции, предложенные по-умолчанию) и члены класса имеют иное смещение, чем те, что используются в коде Variant.OlePropertySet.

С автосгенеренном C++Builder'ом файле ZuluOcx_OCX.h встречается использование TAutoDriver<> с dispinterface'ами, а значит проблема инициируется.

Подобная проблема с TAutoDriver<IDispatch> также описывается в Borland Developer Network на Quality Central (см.<A HREF="http://qc.borland.com/wc/qcmain.aspx?d=55110" TARGET="_blank">qc.borland.com/wc/qcmain.aspx?d=55110</A>), а также здесь (<A HREF="http://helpdesk.ingeardrivers.com/supportsuite/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=48" TARGET="_blank">helpdesk.ingeardrivers.com/supportsuite/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=48</A>).
Там предлагается изменить настройки проекта, убрав опцию "Zero length empty base class" параметрах C++, однако мне в тестовом проекте этот рецепт не помог (размер "нашего" TAutoDriver'а стал наоборот на 4 байта больше, чем в Vcl).

Я вышел из положения так: включил текст метода Variant::OlePropertySet (см. код выше) в тело своего проекта, заставив его тем самым скомпиляться с моими настройками проекта (и не зависить от них вообще) и все заработало...
При этом в параметрах Packages в настройках проекта я отключил флажок "Build with run-time packages"...
Конфликт Zulu и OLE.
 
Скорее всего конфликт не с кодом Zulu, а в самом Builder'е, т.к. вылет в недрах Variant::OlePropertyGet возникает даже если не включать #include "ZuluOcx_OCX.h" в свой модуль, а просто добавить в проект ZuluOcx_OCX.cpp... (модули Zulu при выполнении тестового кода при этом и не загружаются)...

Как только мы разберемся в чем именно проблема, то сообщим как выйти из этой ситуацию...
Графика
 
Zulu поддерживает точечные объекты (они же "символьные", с пиктограммой), полилинии, полигоны, поли-полилинии (несколько ломаных, объединенных в один объект), поли-полигоны (несколько полигонов, объединенных в один объект), текстовые. Графические объекты (кроме текстовых) могут быть простые и типовые (подробно см. <A HREF="http://www.politerm.com.ru/zulu/features.htm" TARGET="_blank">www.politerm.com.ru/zulu/features.htm</A>)
Запросы к табличным данным прописываются в базах данных Zulu (см. <A HREF="http://www.politerm.com.ru/zulu5doc/semant_over.htm" TARGET="_blank">www.politerm.com.ru/zulu5doc/semant_over.htm</A>)
Добавление режима в тип
 
<B>YelenaD</B>,
с текущим обновлением базу и таблицу можно создавать так:
id = Layer.Bases.Create("Base")
ZbDatabase.Open(Layer.Bases.Item(id).Name)
ZbDatabase.CreateTable("UINs.db", ...) // здесь только имя таблицы, никаких путей
добавить потом таблицу в базу можно так:
ZbDatabase.Tables.Add("","UINs.db")
можно так:
ZbDatabase.CreateTableEx() и там указать флаг сразу добавить в базу.
DLL
 
Причиной может быть в библиотеке gdiplus.dll, в WinXP и выше она штатно входит, для Win98,Win2000 мы ее до последнего времени ставили в папку установки программы. Теперь мы ее ставим в WINDOWS\System32.
На сайте мы выложили Zulu 6.0 Run-Time (Zulu60Core.exe), которого достаточно для установки компонентов Zulu.
Страницы: Пред. 1 ... 25 26 27 28 29 30 31 32 33 34 35 ... 40 След.